Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Personally, I think my biggest reason for using print debugging is.. it works.

I agree.

A similar statement is that using a debugger often does not work.

the sort of ratholes I've run into are: - debug build - proper symbols - interrupts and debugger - kernel and debugger - unfamiliarity with debugger - limitations of debugger

Without a proper debug build, you can't run the debugger effectively. You have to set up a whole debug environment.

Sometimes you need to do broad work to get proper symbols and stack trace information. By broad, I mean a debug build for everything.

I've also found many debug builds, apart from altering some behavior, they also turn on a lot of printfs.

If you're using interrupts/timers or debugging a kernel module, many times debuggers don't work or may alter, move or supress the problem.

and then there's the... I haven't used a debugger in 6 months, how do I do (very simple thing). And sometimes the debugger is just not the right tool or a tedious tool to use. "If I just load this one macro and somehow get the right address maybe I can decode this one kernel data structure..."

Personally, many times an ephereral printf isn't crude and meaningless, it's a precise scalpel getting to the core of the problem.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: