我在 Visual Studio 中有一个项目,我已经研究了一段时间,并且广泛使用了调试器。最近我更改了一些设置,我失去了停止程序和单步执行代码的能力。我无法弄清楚我所做的更改可能会影响到这一点。
如果我在我的代码中放置一个断点并尝试让程序停在那里,它不会。断点显示为带有红色轮廓的白色。如果我将鼠标悬停在它上面,它会说“断点当前不会被命中。没有调试器目标代码类型的可执行代码与此行关联。可能的原因包括:条件编译、编译器优化或此目标体系结构当前调试器代码类型不支持行。”
我知道程序执行断点所在的代码是因为我将断点放在 InitializeComponent 方法的开头。程序可以很好地显示窗口,但不会在断点处停止。是的,我正在调试模式下运行。
似乎编译的代码和显示的源代码之间存在脱节。有谁知道那会是什么,或者知道我应该检查哪些编译器设置以重新启用调试?
以下是编译器选项:
/GS /analyze- /W3 /Zc:wchar_t /I"D:\dev\libcurl-7.19.3-win32-ssl-msvc\include" /Zi /Od /sdl /Fd"Debug\vc110.pdb" /fp :precise /D "WIN32" /D "_DEBUG" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /Oy- /clr /FU"C:\Program Files (x86)\参考 Assemblies\Microsoft\Framework.NETFramework\v4.5\mscorlib.dll" /FU"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Data.dll" /FU "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.dll" /FU"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4. 5\System.Drawing.dll" /FU"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Windows.Forms.DataVisualization.dll" /FU"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Windows.Forms.dll" /FU"C:\Program Files ( x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Xml.dll" /MDd /Fa"Debug\" /EHa /nologo /Fo"Debug\" /Fp"Debug\Prog.pch"
链接器选项是:
/OUT:"D:\dev\Prog\Debug\Prog.exe" /MANIFEST /NXCOMPAT /PDB:"D:\dev\Prog\Debug\Prog.pdb" /DYNAMICBASE "curllib.lib" "winmm.lib" “kernel32.lib” “user32.lib” “gdi32.lib” “winspool.lib” “comdlg32.lib” “advapi32.lib” “shell32.lib” “ole32.lib” “oleaut32.lib” “uuid.lib” "odbc32.lib" "odbccp32.lib" /FIXED:NO /DEBUG /MACHINE:X86 /ENTRY:"Main" /INCREMENTAL /PGD:"D:\dev\Prog\Debug\Prog.pgd" /SUBSYSTEM:WINDOWS / MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Debug\Prog.exe.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"D:\dev\libcurl-7.19.3-win32 -ssl-msvc\lib\Debug" /ASSEMBLYDEBUG /TLBID:1