Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


Fine tune my debugging skills.

Posted on 2004-09-04
Medium Priority
Last Modified: 2010-04-01

I am wondering if there is a book anyone could recomend and/or link of how to use VC++6.0 and such debugger more efficiently. To learn more details.

I have my manuals that came with the compiler, but you know how manuals are. They tend to leave the layman in the dust.

I would like to seriously improve my debugging skills.

For example, to be able to debug apps that have hard time compiling under the debug version. To know why with much more detail.

A hard core debugging book/link for VC++6.0 and family (I will accept family if I can use info to relate).

A debugging for dummies with good details.

Question by:RJSoft
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 55

Assisted Solution

by:Jaime Olivares
Jaime Olivares earned 240 total points
ID: 11982854
Personally I think that improve your debugging skills means to decrease your logic mind capabilities. I, and many others programmers don't use debuggers. When you code orderly, you will be able to detect and deduce where was every problem, without using debugging options, just some MessageBox() calls.
Better you can choose a 'Good Programming' book. Somethink like: (Code Complete) (C++ programming style) (Exceptional C++ style)

Good luck,

Accepted Solution

jimwasson earned 1000 total points
ID: 11983094
There are a lot of places to go for debugging techniques and information.

One of my favorite books on the subject is "Debugging Applications" by John Robbins.

Microsoft's over for debugging -- "Debugging Tools for Windows - Overview" is at:

Your debugging ability is developed with practice. Experience is a very important part of the process of improving one's debugging skills -- the more you do it the better you will get at it. Use your debugger to help you understand what is going on "under the hood", even down to the assembly level.
LVL 11

Assisted Solution

avizit earned 260 total points
ID: 11983096
Debugging is more bout knowing how to analyse and look for errors than bout learning bout a particular debbugger whether VC++ debugger or GDB ..if you are good atdebuggging , you can just pick up any debugger pretty fast .. its just a matter of syntax /command /optiosn after that

a good link is :

also learn what is the assert() function , they are also helpful at times in pinpointing locations where yuo are asuming some vakues and actually it is not so etc etc
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 48

Assisted Solution

AlexFM earned 500 total points
ID: 11983164
LVL 22

Expert Comment

ID: 11983778
You could try avoiding having to debug, by coding defensively.

When you write each statement, think about what could go wrong: subscripts out of range, API returns an error code, NULL pointer, passing value instead of address, string overflow, and arithmetic overflow are the biggies.   Add if(0 statements to check pointers and API results.  

That will prevent 88% of debugger-type errors.

LVL 55

Expert Comment

by:Jaime Olivares
ID: 11984055
I agree with grg99, that's what I am talking of. As programming teacher, I recommend my students to improve good programming better than good debugging. Actually I am a bad debugger, but solve my problems rapidly without it.

Author Comment

ID: 11985762
Well, I decided to get

Debugging Windows Programs: Strategies, Tools, and Techniques for Visual C++ Programmers
by Everett N. McKay

(after reading and re-reading reviews and amazon details)

True, Robbins seems to be the leading author in the debugging arena. But I am not at that level. I use to use the debugger that came with Borland C++ so I know simple things of how to step etc. But after I switched to VC I got lazy and started using MessageBox to display values. Partly cause VC makes simple debugging more of a pain than Borland's old compilers did.

Of course using MessageBox works in a crude kind of a way, but I sense that it has seriously weakened my abilities. I would feel much more confident knowing how to use VC's debugger more efficiently. Perhaps save serious time.

The main book of Robbins (non NT) is also out of print. Or has been replaced with an NT/Windows version. The older Robbins book is the one that really interest me as it goes into great detail of debugging even to the level of building your own debugger. Also how to interpret those assembler core dumps. But, like allot of other things program related I go off chasing rabbits and forget my main objectives.

The older Robbins book is also costly $99. I fear that it's way above my level. Surprizingly the newer release with NT I can purchase for about $4 used. I probably will purchase that for the heck of it.

So I am settling for a more straight forward to the point book with tips and tricks. Which to me practical is gold. Im not trying to conquor the universe, just have some insight on how to debug properly.



Author Comment

ID: 11985802

Although we dis-agree on the use of a debugger, I felt I should give you some points for
the link to "Code complete". A good book I will have to look into.


Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

660 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question