2011-01-11 102 views
4

我如何防止從VS用戶呈現以下警告:如何防止Visual Studio警告缺少調試信息?

沒有調試信息 爲「MYEXE.EXE」調試信息不​​能被發現或不匹配。找不到或打開PDB文件。你想繼續調試嗎?

在我的情況下,我的產品的用戶想要開發一個插件和他想調試它的(s)。在VC++項目中有適當的配置,以便當他按下F5時,我的應用程序將啓動並加載插件。但是,VS抱怨缺少調試信息。雖然通常缺乏有效的調試信息是一個有效的問題,但在這種情況下,我不想爲MyExe.exe提供.pdb文件(用戶沒有理由調試MyExe.exe應用程序)。有沒有辦法阻止VS搜索MyExe.exe的調試信息?

+0

檢查「Project Propeties>配置屬性>鏈接器>調試」下的「生成調試信息」中設置的內容。這應該被設置爲'Yes(/ DEBUG)`以避免'沒有調試信息調試''MyExe.exe'`信息 – Mahesh 2011-01-11 00:28:09

+0

從來沒有嘗試過,但如何給一個「存根」PDB?空文件或爲「空」MyExe.exe生成的真實PDB,或類似的東西。 – Poni 2011-01-11 01:35:14

+0

@Mahesh:值設置爲/ YES,但它需要部署.pdb文件,我想避免這種情況。 – 2011-01-11 08:35:53

回答

0

你不會說你的客戶使用哪個版本的VS,但至少在VS 2005和VS 2010中,打開Tools-> Options-> Debugging-> General,有一個設置列表,scroll向下找到「警告如果沒有啓動符號(僅限本地)」設置並清除複選標記。

相信,這將完成你要找的東西,因爲除非/直到調試器停在你的代碼中,否則對話框不會彈出。如果它在客戶的插件中停止(或擊中斷點),那麼它應該能夠找到符號,並且我認爲它不會導致彈出窗口。

0

我不相信你可以關閉VS關於丟失或不匹配的PDB的消息,但是,你也許可以在構建時使用/PDBSTRIPPED option創建PDB - 這會給用戶一個包含最少信息的.pdb(只是公共符號,基本上)。