2016-09-23 60 views
0

我正在使用Visual Studio 2013編寫C++ DLL,然後EXCEL意味着通過VBA加載DLL。在Visual Studio Project Property -> Configuration Properties -> Debugging -> Command = C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE設置完成後,我開始調試,然後一個對話框出來:'Excel.exe'的調試信息無法找到或不匹配

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

後,我單擊是,我注意到VS正試圖下載的文件pdb了很多,失敗:

'EXCEL.EXE' 的(Win32):已加載「C:\ Program Files文件(86 )\ Microsoft Office \ Office14 \ EXCEL.EXE'。找不到或打開PDB文件。

'EXCEL.EXE'(Win32):Loaded'C:\ Windows \ SysWOW64 \ ntdll.dll'。 找不到或打開PDB文件。

'EXCEL.EXE'(Win32):Loaded 'C:\ Windows \ SysWOW64 \ kernel32.dll'。找不到或打開PDB文件。

'EXCEL.EXE'(Win32):Loaded'C:\ Windows \ SysWOW64 \ KernelBase.dll'。 找不到或打開PDB文件。

'EXCEL.EXE'(Win32):Loaded 'C:\ Windows \ SysWOW64 \ advapi32.dll'。找不到或打開PDB文件。

'EXCEL.EXE'(Win32):Loaded'C:\ Windows \ SysWOW64 \ msvcrt.dll'。 找不到或打開PDB文件。

'EXCEL.EXE'(Win32):Loaded 'C:\ Windows \ SysWOW64 \ sechost.dll'。找不到或打開PDB文件。

'EXCEL.EXE'(Win32):Loaded'C:\ Windows \ SysWOW64 \ rpcrt4.dll'。 找不到或打開PDB文件。

'EXCEL.EXE'(Win32):Loaded 'C:\ Windows \ SysWOW64 \ sspicli.dll'。找不到或打開PDB文件。

'EXCEL.EXE'(Win32):Loaded'C:\ Windows \ SysWOW64 \ cryptbase.dll'。 找不到或打開PDB文件。

等等,雖然最後調試好了。

這樣的VS行爲可以嗎?我覺得這有點奇怪,爲了調試我的DLL,需要下載EXCEL.EXE和NTDLL.DLL的PDB文件。

看來這裏有一個類似的帖子:How can I debug this error: 'Debugging information for iisexpress.exe cannot be found or does not match'?。但那是一個MVC項目(我的是C++)和Visual Studio設置是不同的。

+1

如何指定調試符號服務器:(s):https://msdn.microsoft.com/en-us/library/ms241613(v=vs.120).aspx MS有大多數的符號(PDBs)可執行文件(和DLL)。 –

+0

@athos,有沒有更新?按照Richard的建議啓用符號服務器後,您是否解決了此問題?您可以檢查您的調試模塊窗口,您可以手動加載符號,也請確保它與目標平臺(任何CPU/X86/X64)無關。 –

+0

@JackZhai是的,我解決了這個問題。實際上,這是因爲加載Excel等所有這些Microsoft應用程序和Windows操作系統dll的符號需要這麼長時間,我取消了加載,當然,這也取消了加載我的XLL的pdb文件。一旦我加載回來,它的工作原理。 – athos

回答

1

無法找到或打開PDB文件。

通常這個錯誤是與加載的符號有關。我們需要在工具 - >選項 - >調試 - >符號下啓用符號服務器,然後檢查模塊窗口並確保所有符號都已成功加載。