我使用Visual Studio 2013,但大多数时候我使用nmake
来编译和链接我也从命令提示符窗口启动的控制台应用程序。
当然,如果我遇到一个错误并且程序崩溃了,我不在Visual Studio中,也看不出导致错误的原因。
Visual Studio中是否有编译器(cl.exe)和链接器(link.exe)标志,这些标志允许我以调试模式启动Visual Studio并将我直接放入违规代码中?
我的另一种方法是使用与编译和链接程序相同的标志构建一个新的Visual Studio项目,以便我可以重现该问题。这非常耗时,而且大多数时候,我不需要保存项目。
我希望有一种方法可以使用正确的标志编译和链接我的代码,以便在可执行文件中提供所有必要的调试信息,因此当程序崩溃时我会被提示打开Visual Studio一个例外,允许我快速解决问题。
答案 0 :(得分:1)
事实证明我需要做两件事:
一旦完成,我有目的地测试一个C除以零的程序。弹出一个窗口,让我调试程序,Visual Studio自动显示出现问题的源代码。
答案 1 :(得分:0)
我不明白为什么你必须在VS中重新编译和重建。在Visual Studio中,您可以动态附加到任何可执行文件
https://msdn.microsoft.com/en-us/library/3s68z0b3.aspx
所以,当你输入一个bug并且你有崩溃窗口时,你应该能够附加到你的进程并看到callstack;也许你必须指定在哪里找到来源,
或许您是否锁定了DebugBreak win API?
https://msdn.microsoft.com/en-us/library/windows/desktop/ms679297(v=vs.85).aspx
当然,假设您在Debug
中编译/链接