[英]Visual C++, breakpoints do not break
我在Visual C ++ 2010(Win32應用程序,非托管代碼)中有一個項目,其中我遇到了一個非常奇怪的行為。 我放了一個斷點,它根本沒有破壞!
線索:
在exe文件路徑中生成PDB文件。
Debug / Modules窗口顯示消息“Binary未使用調試信息構建。”。
手動加載PDB文件(調試/模塊,右鍵單擊可執行模塊,從符號路徑加載符號然后雙擊PDB文件)說“在此文件夾中找不到匹配的符號文件。”。
我的設置:
編譯器命令行:
/I"..\..\calibur64k\include" /I"C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include" /Zi /nologo /W3 /WX- /Od /Oy- /D "D3D_DEBUG_INFO" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MTd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fp"Debug\calibur_app.pch" /Fa"Debug\" /Fo"Debug\" /Fd"Debug\vc100.pdb" /Gd /analyze- /Zl /errorReport:queue
鏈接器命令行:
/OUT:"C:\Users\David\Desktop\calibur64k\vs2010\Debug\calibur_app.exe" /INCREMENTAL:NO /NOLOGO "kernel32.lib" "user32.lib" "d3dcompiler.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" "C:\Users\David\Desktop\calibur64k\vs2010\Debug\calibur64k.lib" /MANIFEST /ManifestFile:"Debug\calibur_app.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\David\Desktop\calibur64k\vs2010\Debug\calibur_app.pdb" /ASSEMBLYDEBUG /SUBSYSTEM:WINDOWS /PGD:"C:\Users\David\Desktop\calibur64k\vs2010\Debug\calibur_app.pgd" /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:QUEUE
我在互聯網上找到的任何東西都沒有幫助我:(任何想法的人?謝謝!
這個問題已經通過反復試驗解決了:)
任何人都可能感興趣:
鏈接器/清單文件/生成清單:將其設置為否。鏈接器/清單文件/允許隔離:將其設置為否。鏈接器/嵌入式IDL /忽略嵌入式IDL:將其設置為是。
而已。 也許為C ++項目錯誤地設置了生成的PDB文件清單或可執行文件清單?
謝謝你的回答。
我的Visual c + + +設置:
鏈接器/清單文件/生成清單:是的。 鏈接器/清單文件/允許隔離:是的。 鏈接器/嵌入式IDL /忽略嵌入式IDL:否。
我在所有程序中都使用了這些設置,並且成功點擊了斷點。
所以,我的推論是你提出的建議可能不是正確的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.