Debugging Tools for Windows

CTRL+C (Break)

CTRL+C 键中断到调试器,停止目标程序或目标机,并且取消调试器命令。

用法

CDB 用法

CTRL+C 

KD 用法

CTRL+C 

目标机用法

SYSRQ 
ALT+SYSRQ 
F12 

环境

调试器 仅CDB和KD
模式 用户模式、内核模式
目标 活动目标、崩溃转储
平台 所有

注释

使用CDB时:

用户模式下,CTRL+C 键使得目标程序中断到调试器中。目标程序会冻结而调试器开始活动,这时可以输入调试器命令。

如果调试器已激活,CTRL+C不会作用于目标程序。但是,它可以用来终止调试器命令。例如,如果产生了一个很长的输出并且不再想继续看下午,可以使用CTRL+C 来终止显示并返回到调试器命令提示符。

使用CDB进行远程调试时,CTRL+C可以在主机的键盘上使用。如果想从目标机键盘上产生中断,可以在x86机器上使用CTRL+C。

F12可以用来当被调试程序很忙时获得命令提示符。将焦点放到目标程序的窗口上并且在目标机上按下F12。

使用KD时:

内核模式下,CTRL+C 键使得目标机中断到调试器中。这会锁定目标机并唤醒调试器。

调试正在运行的系统时,必须在主机键盘上按下CTRL+C才能获得初始的命令提示符。

如果调试器已激活,CTRL+C不会作用于目标机。但是,它可以用来终止调试器命令。例如,如果产生了一个很长的输出并且不再想继续看下午,可以使用CTRL+C 来终止显示并返回到调试器命令提示符。

CTRL+C也可以用来在当产生了很长的输出或者目标机很忙时获取命令提示符。调试x86机器时,在主控机或目标机键盘上都可以使用。

SYSRQ (或者增强键盘的ALT+SYSRQ)有类似作用。它在运行于任何处理器的主控机和目标机键盘都能工作。但是,只有当之前至少使用CTRL+C获取过命令提示符一次以上时才起效。

SYSRQ 键可以通过编辑注册表禁用。在注册表键

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters

创建一个名为BreakOnSysRq的值,并设置为DWORD 0x0。然后重新启动。之后在目标机键盘上按下SYSRQ就不会中断到内核调试器中了。

当KD和CDB一起使用时:

如果使用KD和CDB一起调试,CTRL+C将会由主机试器(CDB)来响应。要中断到目标调试器(KD)中,需要使用CTRL+F

注意 在WinDbg中, CTRL+C 是用来从窗口中复制文本的快捷键。要在WinDbg中执行中断命令,可以使用CTRL+BREAK或选择菜单的 Debug | Break

附加信息

关于执行该命令的其他方法和相关命令的概述,查看控制调试目标

Build machine: CAPEBUILD