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

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题适用 主题适用 主题适用 主题适用

标准版

主题适用 主题适用 主题适用 主题适用

专业团队版

主题适用 主题适用 主题适用 主题适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

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

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

当您尝试在运行 Windows NT、Windows 2000、Windows XP 或 Windows Vista 的计算机上调试托管代码时,如果该系统是在调试模式下启动的,则会出现此消息。

解决方案

修复此问题

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

    - 或 -

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

    - 或 -

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

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

  • 在命令提示处,键入:

    Kdbgctrl.exe -d
    

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

  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

请参见

概念

调试器安全

其他资源

调试托管代码