编译器/链接器选项在异常时启动Visual Studio

时间:2017-10-25 16:59:19

标签: debugging visual-studio-2013

我使用Visual Studio 2013,但大多数时候我使用nmake来编译和链接我也从命令提示符窗口启动的控制台应用程序。

当然,如果我遇到一个错误并且程序崩溃了,我不在Visual Studio中,也看不出导致错误的原因。

Visual Studio中是否有编译器(cl.exe)和链接器(link.exe)标志,这些标志允许我以调试模式启动Visual Studio并将我直接放入违规代码中?

我的另一种方法是使用与编译和链接程序相同的标志构建一个新的Visual Studio项目,以便我可以重现该问题。这非常耗时,而且大多数时候,我不需要保存项目。

我希望有一种方法可以使用正确的标志编译和链接我的代码,以便在可执行文件中提供所有必要的调试信息,因此当程序崩溃时我会被提示打开Visual Studio一个例外,允许我快速解决问题。

2 个答案:

答案 0 :(得分:1)

事实证明我需要做两件事:

  1. 在Visual Studio中>工具>选项>调试器......我必须启用实时(JIT)调试器。
  2. 在控制面板中&gt; <控制面板的所有项目>行动中心&gt;问题报告设置,我必须选择&#34;每次出现问题时,请在检查解决方案之前询问我。&#34;
  3. 一旦完成,我有目的地测试一个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

中编译/链接