Debugging the release version of a program

Source: Internet
Author: User
Transferred from: www.codeguru.com

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', limit l 1998 (vol 13, No 4 ):

In msvc you can set all of your project's deployments in the Project Settings dialog.

1. Select the all invocations 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/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 optimier settings. If you find a strange/buggy Behavoir disable every optimazion and try again.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.