我有一个C#控制台应用程序,由外部程序调用,为其提供命令行参数.为了简化调试,我创建了一个条件方法,我立即调用Main():
[System.Diagnostics.Conditional("DEBUG")]
static void BreakIfInDebugMode()
{
System.Diagnostics.Debugger.Break();
}
Run Code Online (Sandbox Code Playgroud)
在外部程序中,当我想调试时,我将外部调用指向bin\Debug我的.exe位置,弹出Visual Studio即时调试器窗口,然后选择我目前正在使用的Visual Studio实例用来做开发.
除此之外,从今天开始,当前正在运行的Visual Studio实例不会出现.我只能选择启动一个新实例.即使我通过调试器提示启动的新实例也不会在我保持运行时显示.这是一个巨大的麻烦,因为我已经运行了一个项目打开的实例,并且已经设置了我想要调试的代码的断点.
我注意到从"关闭程序/调试程序"到"选择Visual Studio对话框实例"需要比平时更长的时间.为什么调试器选择没有找到我已经运行的调试器的任何解决方案?
编辑:执行重新启动后,恢复了预期的行为.通过不那么激烈的措施来修复仍然是件好事.