如何将 msvc CL /DEBUG 与 visual studio devenv /DebugExe 集成
How to integrate msvc CL /DEBUG with visual studio devenv /DebugExe
我在命令行上使用 msvc (visual studio cl.exe) 来编译我的一个 c++ 项目。
为此,我使用 Visual Studio Community 2019 开发者控制台
在 cmd 中,我通过调用初始化我的环境:
call "%ProgramFiles(x86)%\Microsoft Visual Studio19\Community\Common7\Tools\VsDevCmd.bat"
call "%ProgramFiles(x86)%\Microsoft Visual Studio19\Community\VC\Auxiliary\Build\vcvars32.bat"
然后我编译我的代码:
cl /DEBUG main.cpp SDL2-2.0.14\lib\x86\SDL2.lib portaudio_x86.lib /IPortAudio\include /ISDL2-2.0.14\include
通常,我可以 运行 我的程序只需调用
main.exe
但是如果我想在visual studio中调试它,我使用
devenv /DebugExe main.exe
在 visual studio 中,在我点击顶部工具栏中的“▶️start”后,程序会 运行 正常,但是当我遇到异常时,符号不会加载。例如:
如何让Visual Studio正确加载符号文件并显示错误的行号?
谢谢,
麦克
总结问题评论中提供的答案:
编译和 linking 必须一步完成,因为可执行文件是在 visual studio 项目之外编译的:
编译和link:
cl /Zi /EHsc <compiler options> <source files> /link <linker options> <library and resource files>
调试:
devenv /DebugExe <executable>
我在命令行上使用 msvc (visual studio cl.exe) 来编译我的一个 c++ 项目。
为此,我使用 Visual Studio Community 2019 开发者控制台 在 cmd 中,我通过调用初始化我的环境:
call "%ProgramFiles(x86)%\Microsoft Visual Studio19\Community\Common7\Tools\VsDevCmd.bat"
call "%ProgramFiles(x86)%\Microsoft Visual Studio19\Community\VC\Auxiliary\Build\vcvars32.bat"
然后我编译我的代码:
cl /DEBUG main.cpp SDL2-2.0.14\lib\x86\SDL2.lib portaudio_x86.lib /IPortAudio\include /ISDL2-2.0.14\include
通常,我可以 运行 我的程序只需调用
main.exe
但是如果我想在visual studio中调试它,我使用
devenv /DebugExe main.exe
在 visual studio 中,在我点击顶部工具栏中的“▶️start”后,程序会 运行 正常,但是当我遇到异常时,符号不会加载。例如:
如何让Visual Studio正确加载符号文件并显示错误的行号?
谢谢,
麦克
总结问题评论中提供的答案:
编译和 linking 必须一步完成,因为可执行文件是在 visual studio 项目之外编译的:
编译和link:
cl /Zi /EHsc <compiler options> <source files> /link <linker options> <library and resource files>
调试:
devenv /DebugExe <executable>