代码之家  ›  专栏  ›  技术社区  ›  Patrick

托管系统::诊断::调试器::启动函数的非托管/本机替代方案?

  •  2
  • Patrick  · 技术社区  · 14 年前

    我有一个混合模式应用程序,如果在内部数据结构中发现错误,我想启动调试器。

    我先前问题的解决方案(见 Behavior of DebugBreak differs between unmanaged and mixed (unmanaged+managed) application? )似乎适用于非常简单的情况,但不适用于我的应用程序(它只是让我的应用程序挂起)。

    幸运的是,我发现 System::Diagnostics::Debugger::Launch

    因此:对于 系统::诊断::调试器::启动 功能?

    2 回复  |  直到 7 年前
        1
  •  3
  •   Oleg    14 年前

    在我看来,System::Diagnostics::Debugger::Launch的用法是一个很好的观点。NET调试器和其他一些.NET类一样 unmanaged interface 例如 ICorDebug::DebugActiveProcess http://msdn.microsoft.com/en-us/magazine/cc301510.aspx System::Diagnostics::Debugger::Launch .

    另一种方法是用法 Just-In-Time Debugging How to: Launch the Debugger Automatically .

    WTSSendMessage 而不是 MessageBox . 我用这种方法已经很多年了,而且效果很好。

        2
  •  2
  •   mark    13 年前
    _asm int 3; // I need to enter this to satisfy StackOverflow minimal answer length requirement