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

Visual studio 2013 not hitting breakpoints in a referenced project in debug

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

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

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

谁能帮帮我?

我的代码是 运行 在调试中

更新

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

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

您可以用 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