this post was submitted on 30 Sep 2023
317 points (91.6% liked)

Programmer Humor

32472 readers
866 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] nakal@kbin.social 5 points 1 year ago (1 children)

Because if you invested a lot of time on carefully choosing the places where printf should be to get all the info you need, you just need to unset NDEBUG and voilà everything that you need is there again.

[–] ripcord@kbin.social 1 points 1 year ago (1 children)

Or, for cases where you're doing that, use actual debug or trace logging if that is an option.

[–] nakal@kbin.social 1 points 1 year ago

Of course, it's better to use some frameworks for logging, especially because these verbose statements are often needed for assertions while unit testing the code. But it's still equivalent to printf.

I use debugger sometimes. I actually like to load core dumps to take a look at the stack trace. But I usually don't really need debugger interactively because when some error appears, I usually already have an idea what happened. And lots of embedded code needs timing in milliseconds, so debuggers won't help.