Software Development optimize

Poll: How often do you debug without an IDE?

Developer Justin James admits he rarely uses a "real debugger." Let us know how often you debug without modern tools.

Despite the years of advancement in IDEs, I often find myself developing in systems, applications, and scenarios in which I cannot attach a debugger to code; it simply is not going to happen for whatever reason. So I still use the techniques I learned pre-IDEs and pre-debuggers, like inserting trace statements in code, to troubleshoot in these kinds of scenarios. In fact, I am sometimes quite shocked by how infrequently I use a "real debugger" given that it is 2011, not 1981. Am I alone here? Do other people have to debug without modern tools on a regular basis?

J.Ja

About

Justin James is the Lead Architect for Conigent.

9 comments
davidibaldwin
davidibaldwin

In 1981, IDE = Ides of March which was also a rock band... Unless you had a full Intel development package, you were probably using a text editor for coding and an assembler for assembling executables. I mean programs.

Tony Hopkinson
Tony Hopkinson

There are many in windows where having a debug means the bug won't happen. Missing an invalidate (WM_Paint) for instance. Execution stops, code window comes up, nowt wrong, resume, entire window get's repainted when you switch focus back to the target app. I've had other down to timing of messges going int the pump, ones that I could not replicate, that turned out to be dll hell, or the new version something a bit wrong with your .net install... Nothing wrong with a few asserts, info messages to a log file and such, help you decide where to put the first debug at the very least. Just because once it was the only way doesn't mean it's the wrong way.

Sterling chip Camden
Sterling chip Camden

I use debugging tools that allow for stepwise execution, setting breakpoints, examining variables, viewing source code, etc. all within a command-driven environment. So it isn't an IDE in the sense of Visual Studio, but it has a lot of the same features presented in a different interface.

Charles Bundy
Charles Bundy

I'm with you on inserting "error/testing" debug code. I use an IDE (or command line) debugger when I don't have access to source code and want to see what is going off in the weeds. To be fair tho, a lot of what I do is embedded development and I'm a lot closer to the hardware. Larger projects, less tightly coupled to hardware and I would use IDE and debug tools more.

jkameleon
jkameleon

So, I couldn't live without it. When I'm writing a program, I'm testing it as I go as often as possible. Start the half written program, drag the program counter to whatever piece of code I'm working on, set the proper variable values, and test all possible combinations. I'm also using it instead of documentation. No matter how well written the documentation might be, I usually familiarize myself with API more thoroughly and faster by writting and debugging small example programs. When documentation is absent, which is often the case, this is the only way. Here's rather typlical example of Drupal API documentation: http://api.drupal.org/api/drupal/modules--comment--comment.module/function/comment_form/7 One line description, source code, and that's it. The only way to quickly comprehend what it does it to step through it with debugger. If someone thinks I'm lazy in the head, guess what- it's true. In order to make money as a 50+ old programmer, I must utilize every brain extension the modern technology has to offer- starting with the biggest dual monitors possible, multiple desktops, desktop cubes, fancy debuggers, and so on. This way, I've managed to extend my professional life span far beyond the usual progammer shelf life, which ends at about the age of 30 or 40.

Tony DeRosa
Tony DeRosa

I use log4j debug and fatal modes for web application logging. It can record user actions, db results, processing steps, stack traces, etc... An invaluable tool for trace logging distributed web applications, especially in production and UAT.

apotheon
apotheon

I've tried posting a relevant comment here more than a dozen times over the last few days, and TR's broken-ass discussion software consistently eats it rather than adding it to the thread when I click the "Submit Reply" button. Maybe this (essentially irrelevant) comment will get through.

steve
steve

I quite agree, I just don't see how the study of the patterns of communicable diseases at the population level can help me get this damn programme working! ;)

Tony Hopkinson
Tony Hopkinson

Eurekalog in the win32, (purchasing .net version fingers crossed). other bits just have simple in house log class. The trick is to have something and to get professional about it. Just entry and exit of main function, with a flag to turn logging ob and off can be a major boon. A bit of discipline can go a long way.