Comments on: Initial D(ebugger) 3rd Stage Oh, hey, look at that :D

]]>
By: Jerome Liard/2011/05/16/initial-debugger-3rd-stage/#comment-4421 Jerome Liard Wed, 18 May 2011 10:18:27 +0000 But that only really works if you KNOW that something recently broke. Something which not everybody is able to guarantee unfortunately. But that only really works if you KNOW that something recently broke. Something which not everybody is able to guarantee unfortunately.

]]>
By: Jerome Liard/2011/05/16/initial-debugger-3rd-stage/#comment-4274 Jerome Liard Tue, 17 May 2011 13:17:12 +0000 One of the things I dislike about printf debugging is that you're modifying the code while trying to diagnose it - in a way that doesn't change its behaviour, <em>you hope</em>, but you're still taking a risk, and you also will still have to rebuild everything in order to see the changes. There's a nice feature that I'm not sure many people know about in Visual Studio called 'tracepoints' that basically allow you to do printf debugging without modifying the code. You place them like breakpoints, but rather than the program halting at that point, it logs a message to the debug output for you. You've got all the normal access to symbols and to expression evaluation, and you can use conditional settings the way you normally would for a breakpoint, so the vast majority of things you'd want to do with printf can be done with a tracepoint instead, without modifying the code or having to rebuild. Of course, this is only helpful in situations where you're able to actually attach the VS debugger to the system... One of the things I dislike about printf debugging is that you’re modifying the code while trying to diagnose it – in a way that doesn’t change its behaviour, you hope, but you’re still taking a risk, and you also will still have to rebuild everything in order to see the changes.

There’s a nice feature that I’m not sure many people know about in Visual Studio called ‘tracepoints’ that basically allow you to do printf debugging without modifying the code. You place them like breakpoints, but rather than the program halting at that point, it logs a message to the debug output for you. You’ve got all the normal access to symbols and to expression evaluation, and you can use conditional settings the way you normally would for a breakpoint, so the vast majority of things you’d want to do with printf can be done with a tracepoint instead, without modifying the code or having to rebuild.

Of course, this is only helpful in situations where you’re able to actually attach the VS debugger to the system…

]]>
By: Jason Booth/2011/05/16/initial-debugger-3rd-stage/#comment-4231 Jason Booth Tue, 17 May 2011 03:52:02 +0000 Stage 2 encompasses a wide range of things, and I'll admit I emphasized a few of the more extreme cases... That clip is hilarious! I remember seeing it when it aired and busting out laughing when I realized that what kalin and I look like when debugging stuff. Its like they say, the best debugger is a whiteboard and a friend! Stage 2 encompasses a wide range of things, and I’ll admit I emphasized a few of the more extreme cases…

That clip is hilarious! I remember seeing it when it aired and busting out laughing when I realized that what kalin and I look like when debugging stuff. Its like they say, the best debugger is a whiteboard and a friend!

]]>
By: Richard Fine/2011/05/16/initial-debugger-3rd-stage/#comment-4227 Richard Fine Mon, 16 May 2011 23:33:36 +0000 this introductory article that I wrote a while back could help them out.

(Hmm, I should probably do an update of that article some time. If anyone has any suggestions for what a modern introduction to debugging should include, let me know…)

]]>
By: Richard Fine/2011/05/16/initial-debugger-3rd-stage/#comment-4225 Richard Fine Mon, 16 May 2011 23:28:46 +0000 this clip from the Big Bang Theory – that is what many knowledge-based tasks, from debugging to theoretical physics, actually looks like :)

This is why the Stage 3 guy doesn’t need to run with the debugger all the time – when something goes wrong, he’s got enough experience and knowledge to be able to hazard a guess at what it is without needing to go step through everything in the debugger. (Though I have to admit that your Stage 2 sounds a bit extreme – I’ve never seen anyone single-step through newly written code just to check that things happen the way they expect).

]]>
By: Jaymin Kessler/2011/05/16/initial-debugger-3rd-stage/#comment-4226 Jaymin Kessler Mon, 16 May 2011 23:28:46 +0000 stage 4 is where @ZedrikCayne is at. You would come to him with a vague description of some extremely rare crash, and he would cut you off in the middle of your explanation and give you this completely implausible chain of events that could possibly have lead to the crash. You'd walk off thinking he was being a douchecrumpet and screwing with you, but more often than not he was right. That, I believe, is stage 4 stage 4 is where @ZedrikCayne is at. You would come to him with a vague description of some extremely rare crash, and he would cut you off in the middle of your explanation and give you this completely implausible chain of events that could possibly have lead to the crash. You’d walk off thinking he was being a douchecrumpet and screwing with you, but more often than not he was right.

That, I believe, is stage 4

]]>
By: Morten Skaaning/2011/05/16/initial-debugger-3rd-stage/#comment-4220 Morten Skaaning Mon, 16 May 2011 19:16:54 +0000 I didn't event think about a stage 3 :| Maybe there's a stage 4 too! ( At least Initial D has a stage 4 :p ) Anyway, it makes perfect sense, I will pay more attention and try not to rely so much on the debugger, thanks. I didn’t event think about a stage 3 :| Maybe there’s a stage 4 too! ( At least Initial D has a stage 4 :p )
Anyway, it makes perfect sense, I will pay more attention and try not to rely so much on the debugger, thanks.

]]>
By: Ste/2011/05/16/initial-debugger-3rd-stage/#comment-4209 Ste Mon, 16 May 2011 15:05:03 +0000 When you say it that way, "debugger" seems like a very misleading name given what it does. I say deductive reasoning is more fun than mechanical information gathering any day! When you say it that way, “debugger” seems like a very misleading name given what it does.

I say deductive reasoning is more fun than mechanical information gathering any day!

]]>
By: Ste/2011/05/16/initial-debugger-3rd-stage/#comment-4207 Ste Mon, 16 May 2011 14:57:34 +0000