I heard the term "post-mortem debugging", and Wikipedia says it's debugging done after the program has crashed.

I often debug Python apps using a debugger that stops execution once an important-enough exception has been raised. Then I can use the debug probe to investigate.

Does this count as "post-mortem debugging"? Because the program doesn't really crash.

EDIT: If the answer is no, then what name would you use for the kind of debugging that I described?

  • Probably the term is "interactive debugging". – Jeremy Nov 17 '11 at 16:25
  • Well, that doesn't differentiate it much from any other kind of interactive debugging that does't get triggered by exceptions. – Ram Rachum Nov 17 '11 at 17:27
  • I suppose you could call it "dynamic breakpointing", but the technique's been around for a long time and hasn't had a special name before. – TMN Nov 17 '11 at 18:36

No. Post-mortem debugging involves using a debugger and a core file or other memory image. If the program's still running, then it hasn't "died", so it's still pre-mortem.

EDIT: I don't think this technique has a specific name, "breakpointing on exceptions" is the term I'd use, although @Jeremy's suggestion is just as good.

  • Yes, and the term wouldn't typically be used to refer to an app running under a debugger on a development machine. – Jeremy Nov 17 '11 at 16:23
  • Please see my edit. – Ram Rachum Nov 17 '11 at 16:24
  • OP's stated "using a debugger that stops execution", I'm not sure the specifics of Python, so it may kill the process, rather than pause execution. – StuperUser Nov 17 '11 at 16:27
  • It doesn't kill the process. – Ram Rachum Nov 17 '11 at 17:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.