【问题标题】:Dubugging a program not run within the debugger and without a crash调试不在调试器中运行且没有崩溃的程序
【发布时间】:2010-06-08 09:05:59
【问题描述】:

我昨晚让一个程序运行,它运行了大约 5 个小时,然后它的一个内置自诊断测试检测到一个问题并弹出一个对话框告诉我问题。该程序是使用调试信息 (/Zi) 构建的。是否有可能以某种方式启动调试器,以便我可以检查程序中某些变量的值?还是为时已晚?

【问题讨论】:

    标签: c++ visual-studio-2008 debugging


    【解决方案1】:

    您可以将调试器附加到正在运行的进程:

    调试 > 附加到进程...

    只需先打开程序的解决方案。

    假设您仍然在屏幕上看到错误对话框,您可以进入程序并备份调用堆栈检查变量等。

    【讨论】:

      【解决方案2】:

      对于未来的崩溃...如果您有windbg 或 Visual Studio Professional,您可以调试崩溃转储,即使程序没有运行。有时它非常有用。有关详细信息,请参阅 MSDN 上的“MiniDumpWriteDump”。

      除此之外它是“附加到进程”。

      Visual Studio 专业版具有即时调试器,即使 MSVC 没有运行,它也会在任何崩溃时立即启动。它还将找到源代码(如果调试信息和源代码可用)并为您打开/创建解决方案。

      【讨论】:

        【解决方案3】:

        Debug 菜单中有一个选项可以将调试器附加到正在运行的进程 IIRC。

        【讨论】:

        • 是的,启动 VS 并转到 Debug -> Attach to process
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多