Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable C++ PDB generation from the IDE

We need to surpress generation of debug symbols. The options availble under project properties/ configuration properties / c/c++ / general / debug information format, are equivalent to /Z7, /Zi and /ZI - I can't find a way to omit the /Zx flag entirely.

Unlike the situation here - we're building from the IDE.

I'm using visual studio 2010, and the project at hand is a static library.

EDIT: Here's the view from my installation of VS2012. Is this some installation issue?? Are your Debug-Information-Format options different? enter image description here

like image 644
Ofek Shilon Avatar asked Jan 24 '13 15:01

Ofek Shilon


People also ask

Why is there a PDB files in release folder?

PDB files help you and the debugger out, making post-mortem debugging significantly easier. You make the point that if your software is ready for release, you should have done all your debugging by then.

How are PDB files generated?

A PDB file is typically created from source files during compilation. It stores a list of all symbols in a module with their addresses and possibly the name of the file and the line on which the symbol was declared. This symbol information is not stored in the module itself, because it takes up a lot of space.

What is PDB in C?

For C or C++ code, that Debugger relies upon a file, with the extension “. pdb”, called the “Program DataBase”, or simply “the PDB”. The PDB is written by the Linker when you build your program; it contains line-number and symbols information.


2 Answers

First thing first - this is not recommended to disable .PDB generation, even for a Release Build!

Anyway, you just need to go:

  • Linker -> Debugging -> Generate Debug Info, and set it to No
like image 158
Ajay Avatar answered Oct 15 '22 01:10

Ajay


You can remove it manually:

Step 1. Compiler.

  • Selected "Configuration Properties > C/C++ > General > Debug Information Format"
  • Hit DEL

enter image description here

Step 2. Linker.

Also you need to disable generating Debug info for Linker

  • Selected "Configuration Properties > Linker > Debugging> Generate Debug Info" set to No

enter image description here

Step 3. Profiler.

  • Also set "Profile" to "No" in Linker > Advanced or you may still see PDB files generated!
like image 35
oleksii Avatar answered Oct 15 '22 00:10

oleksii