跨dll进行C#调试

我有一个项目,其调用结构类似于:

  • 主要项目/应用
  • 我的图书馆代码
  • 别人的图书馆代码
  • 我的图书馆代码

一切都是用C#编写的,我可以访问“别人的库代码”。 他们的代码不包含在我的项目中,因为它是开源的而不是我的代码。 我可以制作所有库的调试版本,我已经这样做了。

那个’别人的库代码(SELC,我猜?)是以一种heisen-bug的方式抛出一个exception,而我正试图追踪它并且可能会向项目维护者提交一个bug修复。 问题是,我的调试堆栈停在我的库代码中,并将SELC列为“外部”,我无法调试它。 我已经将pdb文件以及库的调试版本复制到我的应用程序的调试目录中,但仍然没有运气; 我似乎无法调试他们的代码,我根本无法进入它。

曾几何时,回到vs6天,我可以做到这一点 – 在两个不同的环境中同时打开两个不同的项目,并让调试器跟踪从一个项目到另一个项目的dll边界。 我认为function仍然存在,因为它只是非常有用。

有什么建议?

我已经找到了这个答案,但没有找到它,所以如果这是一个骗局,请告诉我在哪里看。

你在Visual Studio的调试选项中打开了“Just My Code”吗?

如果您有源(我从您那里读到),您可以使用其源代码创建项目 ,然后将项目添加到您的解决方案中
在visual studio中.csproj文件中的项目,以及.sln文件中的解决方案。