JIT调试器仅选项是新的Visual Studio实例。

3
我正在尝试调试EF迁移的种子方法。
我添加了一个“Debugger.Launch()”语句。当运行时,我会收到附加消息框:

enter image description here

但是没有选项可以使用现有的 Visual Studio 实例。


我以前见过这个问题。目前唯一的解决方法是关闭所有打开的VS实例并重新启动。希望能找到更好的解决方案! - Mark Pim
@MarkPim即使那个对我也不起作用。这真的很烦人。 - BanksySan
我猜你的VS实例还没有在调试其他东西吧? - Mark Pim
不,我只是把它们全部关闭了,然后重新打开一个。我也重新启动了电脑。 - BanksySan
1
Visual Studio本身崩溃了,请注意它显示的是“devenv.exe”,而不是您程序的名称。因此,它不会将崩溃的程序作为调试器选项提供,这样做效果不佳。可以说,您能够真正调试这样的问题的可能性并不大。 - Hans Passant
2个回答

2
这种情况经常发生在我身上。我使用非常大的Visual Studio解决方案,有时会出现挂起或其他奇怪的行为。例如,如果我点击“x”,UI就会消失,但是仍然有一个来自该解决方案的“devenv.exe”仍在运行。
通常,杀死所有的devenv.exe并重新启动即可解决问题。我认为这里发生的情况是JIT调试器窗口(或它的调用者)对查找VS进程有一个超时限制。如果你的任何一个VS进程挂起或无响应,超时就会发生并退出。当这个问题出现时,我总是注意到JIT窗口弹出的时间比正常时长一点。额外的时间长度几乎总是相同的。这让我对我的诊断感到相当自信。
因此,我建议查找任何流浪的devenv.exe进程并强制终止它们。另外,查看是否有任何VS窗口弹出可能会阻塞响应。作为最后的手段,关闭所有devenv进程并重新启动一个。这对我总是有效的。

0

认为我知道它是什么。我正在尝试调试的代码是EF迁移代码。我猜,由于这是通过PowerShell上下文运行的,所以它是在devenv.exe的上下文中运行,因此无法通过它进行调试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接