| I used to do print debugging a lot. And then I tried using the `breakpoint()` call available since Python 3.7[1], and now I can't imagine doing any serious debugging without PDB (or any other debugger). (I mentioned Python, since this is linking to the Python-flavor of Icecream). Sure, there are still times when just calling print() is sufficient. But they are becoming less frequent. `print()` is only shorter than `breakpoint()` by just 5 - len(variable_name_to_print) characters after all. I know `import pdb; pdb.set_trace()` was available before, though `breakpoint()` is just a lot simpler, among others for the reasons they mentioned in the PEP. There is also the `--pdb` flag in pytest[2], that lets me jump into a PDB session upon test failure. All of this makes me think, what are the cases where print-level debugging is the better option in Python, compared to using an actual debugger? [1] https://www.python.org/dev/peps/pep-0553/ [2] https://docs.pytest.org/en/latest/usage.html#using-the-built... |
And since it's console only, you can even run it remotely without too much hassle.