【发布时间】:2014-12-11 15:32:13
【问题描述】:
我有一个由外部程序调用的 C# 控制台应用程序,该程序为其提供命令行参数。为了便于调试,我创建了一个条件方法,我立即在Main() 中调用它:
[System.Diagnostics.Conditional("DEBUG")]
static void BreakIfInDebugMode()
{
System.Diagnostics.Debugger.Break();
}
在外部程序中,当我要调试时,将外部调用指向我的.exe 的bin\Debug 位置,弹出Visual Studio Just-In-Time Debugger 窗口,我选择Visual Studio 的实例我目前用于开发的 Studio。
除了,从今天开始,当前运行的 Visual Studio 实例不会出现。我只能选择启动一个新实例。即使我通过调试器提示启动的新实例在我让它运行时也不会出现。这是一个巨大的麻烦,因为我有一个已经在运行的实例,项目已打开,并且已经围绕我要调试的代码设置了断点。
我注意到从“关闭程序/调试程序”到“选择 Visual Studio 对话框的实例”所需的时间比平时要长。为什么调试器选择找不到我已经运行的调试器的任何解决方案?
编辑:执行重新启动后,恢复了预期的行为。通过不那么激烈的措施来解决仍然很好。
【问题讨论】:
-
我的水晶球说你的 VS 实例正在提升运行。
-
@HansPassant 签入进程资源管理器,所有实例都以“中等”完整性级别运行。此外,由 Just-In-Time Debugger 窗口生成的实例不会在后续运行中显示。
-
完全重启“修复”了它,但仍然不知道最初是什么原因造成的。编辑了问题以包含这个新的(但不令人震惊的)发展
-
@HansPassant 顺便说一句,我在尝试调试旧的 BHO 项目时也遇到了这个问题。还有什么想法吗?我以管理员身份运行 VS2010,但这从来都不是问题……see here
标签: c# visual-studio-2010