Debugging the release version of a program | CodeGuru

Debugging the release version of a program

Something a lot of programmers don’t know is that you can debug the release version of a program as easy as the debug version. I didn’t know this until I’ve read John Robbins ‘Bugslayer’ column in the ‘Microsoft System Journal’, April 1998 (Vol 13, No 4): In MSVC you can set all of your project’s […]

Written By
CodeGuru Staff
CodeGuru Staff
Aug 6, 1998
2 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Something a lot of programmers don’t know is that you can debug the release version of a program
as easy as the debug version. I didn’t know this until I’ve read John Robbins
‘Bugslayer’ column in the ‘Microsoft System Journal’, April 1998 (Vol 13, No 4):



In MSVC you can set all of your project’s configurations in the Project Settings dialog.



1.Select the All Configurations option in the Settings For combobox.

2.On the C/C++ tab, select Program Database in the Debug info combobox.

3.On the Link tab, with the Category combobox on Debug, check the Debug info checkbox and the Microsoft format.



If you use your own make file use /Zi switch with CL.EXE and
use the use the /DEBUG and /PDB: switches for LINK.EXE,


That’s all there is, now you can set breakpoints and watch variables as usual. Be aware that due to
the optimizer not all symbols can be watch and the execution of the line may be in a different order!

A common error that affects only the release version of a program is when you use ASSERT
instead of VERIFY. Remember ASSERTs will compile to nothing in a release version but
VERIFY does. So if you call a function like ASSERT(DoSomething()) this function will not be called
in the release version!

A release version of a program can behave different than the debug version due to optimzier settings. If you find a strange/buggy
behavoir disable every optimazion and try again.

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.