Comment by imron

1 month ago

> Try debugging without breakpoints

Why would you need to give this up? I use breakpoints with terminal debuggers all the time.

Yea this take makes no sense. What in the world is wrong with debugging with breakpoints?

  • It is for many problems, especially concurrency related ones, much less powerful than trace points. But the issue I have seen is that some tools like gdb have unergonomic support for tracing so there I tend to use break points or printf debugging just because the tracing support is so bad in gdb.

  • It’s a particular subcategory of cork sniffing where you pick the hardest, dumbest way to do things because you’re a Real Developer

There is a good argument for never using debuggers except for core development- Once finished your logs/metrics/events should be good enough to understand what is happening in an application. If debugging your application requires breakpoints you wont really be able to debug a live instance, and wont be able to easily signal off what is happening in the future.

  • That is a reasonable argument - but it was not made in the article and also does not preclude the use of breakpoints (see your except clause which covers a lot of ground).

It actually said

> Debug your code without visual breakpoints

With ‘visual’ being the important aspect.

  • There's another section below your quote where the author also wrote:

      The Challenge
      [...]
      3. Try debugging without breakpoints
    

    The alternative to breakpoints is to study the output logs. He wrote:

      Real Growth Requires Discomfort
      [...]
      Debug using logs and terminal output

    • Fair, I didn’t read that far as I got bored of the “thou shalt” nature of the thing.