Visual studio 2013在调试中未在引用的项目中遇到断点



我有两个解决方案,一个是我的主应用程序,另一个是插件。我正在为我的应用程序编辑插件,所以我已经将插件项目添加到我的应用解决方案中,并引用了它,而不是.dll

插件中的断点有问题。我在插件等待响应的地方放置了一些断点。插件在处理完数据后会触发一个事件,并且我的主应用程序订阅了该事件。调试器总是在主应用程序中的事件上中断,但在我的插件中,调试器只会在我第一次启动程序时到达断点。当断点没有命中时,我查看调用堆栈,它显示它已经通过了.中带有断点的那段代码

我不知道这里发生了什么,它才刚刚开始发生。我做的最后一件事是在插件中添加一个任务,当它收到数据时,这个任务就会启动并处理结果。

有人能帮我吗?

我的代码正在调试中运行

更新

基本上,我的问题是我从一个对象列表中获取数据,并获取一个,然后在我的任务中处理它,同时获取另一个。然而,当断点问题开始时,我注意到返回的数据一直都是完全相同的,并且始终是我得到的第一个元素。

我不知道这是否有用,但这可能是一个我无法识别的缓存问题。

您可以用Debugger.Launch()语句代替断点。在调试无法控制应用程序启动并且需要更多远程调试场景的应用程序时,我不得不多次使用此功能。Debugger.Launch()将允许您将新的或现有的VS实例附加到正在运行的应用程序。

通过在您的场景中这样做,您可以开始检查线程(包括当前VS中的线程,以及使用Debugger.Launch()附加的任何新VS中的),以确保它们都知道相同的线程。您的原始VS可能无法访问回调所在的线程,因此无法中断。

https://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.launch%28v=vs.110%29.aspx

最新更新