代码之家  ›  专栏  ›  技术社区  ›  Dror Helper

破而不破

  •  15
  • Dror Helper  · 技术社区  · 15 年前

    我正在编写C++中的一个类,我不能用F5调试。代码将从另一个调用它的“服务”运行。 过去我用过 __debugbreak() 当我看到一个窗口告诉我抛出了一个异常时,我选择了调试它。

    最近我更新了Windows7,它一直工作了一段时间。

    今天,当我尝试调试一段代码时,没有显示常规对话框,而是显示VSTestHost已停止工作并使我能够调试应用程序,这时出现了另一个对话框,建议我将数据发送给microsoft进行分析。

    有人知道我如何解决这个问题以便调试代码吗?

    4 回复  |  直到 15 年前
        1
  •  23
  •   Dror Helper    11 年前

    最后我找到了问题的原因。 这是一个Vista/Win7原因:

    1. 打开操作中心控件
    2. 转到行动中心设置
    3. 选择“每次出现问题时,请在检查解决方案之前询问我”

    虽然这是更多的IT解决方案/问题,但我整天都在为这个问题困扰,希望与遇到这个问题的其他开发人员分享解决方案。

        2
  •  12
  •   jp48    6 年前

    我终于在这里找到了适用于Windows 10的解决方案: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/enabling-postmortem-debugging

    而且: https://docs.microsoft.com/en-us/windows/desktop/Debug/configuring-automatic-debugging

    要启用自动调试器启动,应添加注册表值:

    • 钥匙 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug 价值 Auto 1 (类型) REG_DWORD )

    已配置的调试器由值设置 Debugger (类型 REG_SZ ); Visual Studio安装将此设置为:

    "C:\WINDOWS\system32\vsjitdebugger.exe" -p %ld -e %ld
    

    请注意,在64位操作系统上,这仅适用于 可执行文件。使相同的行为在 32位 可执行文件在此键中设置相同的值:

    • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug
        3
  •  1
  •   ceztko Jeff Davis    4 年前

    那样的话

    http://community.codesmithtools.com/blogs/blake/archive/2009/06/03/tips-amp-tricks-debugging-codesmith-on-microsoft-windows-7.aspx

    以下是在Microsoft Windows 7计算机上启用调试所需的快速概述:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework] .
    将DbgJITDebugLaunchSetting的值设置为2。 如果您使用的是64位操作系统,则还必须在此文件夹中设置相同的密钥(DbgJITDebugLaunchSetting) [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework] 到2。 如果遇到任何问题,请尝试以管理员身份运行CodeSmith Studio和Visual Studio。 现在,当CodeSmith进入断点时,您将看到如下内容:

        4
  •  -1
  •   Erix    15 年前

    您可以尝试调试>附加到进程。