Visual Studio即时调试器未找到已打开的实例

我有一个C#控制台应用程序,由外部程序调用,为其提供命令行参数。 为了简化调试,我创建了一个条件方法,我立即在Main()调用:

 [System.Diagnostics.Conditional("DEBUG")] static void BreakIfInDebugMode() { System.Diagnostics.Debugger.Break(); } 

在外部程序中,当我想调试时,我将外部调用指向我的.exe的bin\Debug位置,弹出Visual Studio Just-In-Time Debugger窗口,然后选择我的Visual Studio实例我目前正在用来做开发。

除此之外,从今天开始,当前正在运行的Visual Studio实例不会出现。 我只能选择启动一个新实例。 即使我通过调试器提示启动的新实例也不会在我保持运行时显示。 这是一个巨大的麻烦,因为我已经运行了一个打开项目的实例,并且已经设置了我想要调试的代码的断点。

我注意到从“关闭程序/调试程序”到“选择Visual Studio对话框实例”需要比平时更长的时间。 为什么调试器选择没有找到我已在运行的调试器的任何解决方案?

编辑:执行重新启动后,恢复了预期的行为。 通过不那么激烈的措施来修复仍然是件好事。

也许该进程以管理员身份运行,而VS则不是。 这是我的问题。

请检查您是否在visual studio中启用了名为“Managed”和/或“Native”的复选框:

工具- >选项- > Debugging->刚刚在时间

我最近遇到了这个问题,我不小心禁用了这些复选框。 它可能与您的问题无关,因为它在重新启动后正在工作。 我只是张贴这个,以便其他人可能会发现它有用。

除了已经发布在这个页面上的两个不同的答案,似乎这个问题正在(短暂)回归。 但是在这个时候它是Visual Studio 2017早期版本中的一个真正的错误

无论如何 – 不需要恐慌,它已经Visual Studio 2017 Version 15.3 preview 2 修复 。 只需确保您使用此版本或更高版本。

有关详细信息,请参阅源 。