答案摘要
为避免调试器捕获 Ctrl+C,首先关闭 Visual Studio 托管进程(在项目属性的“调试”选项卡中找到)
如果您使用的是 Visual Studio 的 Express 版本,那么您可以这样做。
如果您使用的是专业版或更高版本的 Visual Studio,您还可以打开 Debug > Exceptions...、Win32 Exceptions,然后取消选中 Ctrl+C。
作为替代方案,您可以在调试时使用 Ctrl+Break,除非像我一样 Ctrl+C 硬连线到您的大脑中。
原来的
以下内容已被编辑。汉斯似乎收回了他的回答,但他的提问帮助我缩小了问题陈述的范围:
额外的清晰度
- 我不想修改 Ctrl+C 的行为。
- 我不是在寻找解决方法。
- 我只是希望调试器在调试会话期间按下 Ctrl+C 时不会中断。
请注意,以下示例是人为设计的。这只是为了展示行为。我更改了 ReadKey 行,因为它分散了人们的注意力。
调试(运行)以下程序:
class Program
{
static void Main()
{
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
}
}
按 Ctrl+C。调试器将中断,就像您在 Sleep 行设置断点一样。
你怎么关掉这个?我不希望调试器因 Ctrl+C 而中断。
VS2008 Pro 在家里不会发生这种情况。
我现在已经在 VS2008 Express 和 VS2010 Express(我可以轻松测试的唯一版本)上进行了尝试,他们都做到了。这让我相信它要么是一种快速行为,要么是某个地方有一个设置可以打开/关闭它。
- 在任何版本/版本中是否有打开/关闭此功能的设置?
- 此设置是否存在于 VS2008、VS2010 或两者中?
- 设置是否在 Express 版本中公开?
- 我的 VS2008 Pro 实例是唯一的吗?设置是在旧版本的 Visual Studio 中公开的东西已经继承(我已经通过许多新版本继承了 VS 设置)。