2009-01-14 55 views

回答

19

當您構建包含應用程序符號的編譯器時,編譯器將爲您生成一個pdb文件,Visual Studio調試器和外部調試器可以使用該文件輕鬆找到出錯的地方。

「Full」表示在構建應用程序時將生成完整的調試信息,因此代碼本身將是可調試的,其中包括[DebuggableAttribute],它將代碼鏈接到調試信息,例如,符號。

「僅限pdb」意味着在構建時只生成pdb調試信息,而不會將[DebuggableAttribute]添加到JIT編譯器用於將代碼鏈接到調試信息的編譯代碼。

更多信息,可以發現here

+3

不幸的是,鏈接已經死亡。 – 2012-03-29 06:34:19

1

Should I compile release builds with debug info as "full" or "pdb-only"?

另見https://docs.microsoft.com/en-us/cpp/build/reference/debug-generate-debug-info

我將建立與PDB-只。您將無法將調試器 附加到發佈的產品,但如果您收到崩潰轉儲,則可以使用Visual Studio或WinDBG在崩潰時檢查堆棧跟蹤和內存轉儲 。

如果使用完全而不是pdb-only,那麼除了可執行文件可以直接連接到 調試器外,您將獲得相同的優勢。您需要確定您的 產品&客戶是否合理。