错误:由于系统启用了内核调试器,因此不可能进行调试

调试托管代码时,您可能会收到下面的错误消息:

Debugging isn't possible because a kernel debugger is enabled on the system

当您尝试调试托管代码时,此消息发生:

  • 在开始的 Windows 7 或 Windows Vista系统调试模式。

  • 应用程序使用CLR版本CLR 2.0,3.0或3.5。

解决方案

修复此问题

  • 升级应用程序使用CLR版本4.0或版本4.5

    - 或 -

  • 禁用内核调试,在 Visual Studio 中调试。

    - 或 -

  • 使用内核调试器而不是 Visual Studio 进行调试。

    - 或 -

  • 在内核调试器中禁用用户模式异常。

在当前会话中禁用内核调试

  • 在命令提示处,键入:

    Kdbgctrl.exe -d
    

对所有会话禁用内核调试(Windows Vista 和 Windows 7)

  1. 在命令提示处,键入:

    bcdedit /debug off 
    
  2. 重新启动计算机。

对所有会话禁用内核调试(其他 Windows 操作系统)

  1. 在系统驱动器(通常为 C:\)上查找 boot.ini。 boot.ini 文件可能是隐藏文件并且是只读的。 因此,必须使用下面的命令才能看到它:

    dir /ASH
    
  2. 用记事本打开 boot.ini 并移除下列选项:

    /debug
    /debugport
    /baudrate
    
  3. 重新启动计算机。

使用内核调试器进行调试

  1. 如果内核调试器已挂钩,将显示一条消息,询问是否继续调试。 单击按钮继续。

  2. 您也许会收到 User break exception(Int 3)。如果出现此情况,请键入下面的内核调试器命令以继续调试:

    gn

请参见

概念

调试器安全

其他资源

调试托管代码