2011-10-29 64 views
0

也許有人可以告訴我如何從我的Visual Studio 2003編譯的C++應用程序中刪除調試符號?我將它編譯爲「發佈」,這些符號是否已經刪除,還是仍然存在?如果他們這樣做,我怎麼能刪除他們?在Visual C++ 2003中刪除調試符號

謝謝!

回答

2

是,一旦你在釋放模式編譯然後調試符號已經被移除。

將調試符號添加到二進制文件會增加二進制文件的大小,因爲它是程序運行所需的附加信息。在調試模式下,這些符號會添加到二進制文件中,因爲該程序正在開發中,因此可能需要但是,在發佈模式下,二進制文件的大小應儘可能小(因爲開發已經完成),因此,一旦選擇了發佈模式,這些額外的調試信息就已經被刪除。

+0

好的,謝謝! – Omegavirus

2

據我所知,所有調試信息存儲在.pdb文件。在.exe中,只有這個.pdb文件的名稱,僅此而已。做一個實驗並親自看看。在有和沒有調試信息的情況下構建發行版,並比較差異(當然,不要更改任何其他選項)。文件應該幾乎相同。沒有理由從發佈版本中排除調試信息,並且有足夠的理由來包含它。

+0

該實驗的目的是發現構建時有無調試信息時的差異。這在發佈版本中非常重要。所有其他編譯器選項在進行此實驗時應保持不變。 – Dialecticus

+0

我誤解爲構建調試和發佈並比較差異。 –

+0

我刪除了提到的調試版本,使其更清晰。無論如何,調試版本與這個故事無關。 – Dialecticus