2011-11-07 64 views
3

只是也许微不足道,也许愚蠢的问题。Visual Studio,调试时的库源码

我有两个解决方案:

1)主应用 2)文库

第一个解决方案是通过在SourceSafe与放置在DLL文件(从2溶液)可访问的集合及其lib目录。

为了调试主应用程序并能够从2解决方案跳转到库的源代码我是否需要将项目从2添加到1?它是唯一的选择吗?

即使我从2到1的解决方案中添加(如果可以添加并略去SC中的某些项目)项目,我将不得不改变通过SourceSafe控制的应用程序中的dll引用,我会把它为我的同事。

我该怎么办?

+0

您是否问过您的同事在您的地方处理此问题的标准做法? –

回答

4

要调试所有您需要的是所有第三方dll都在相同的目录中具有其对应的pdb。当你进入一个你有pdb的第三方功能时,Visual Studio会提示你输入源代码,这时你可以浏览到你拥有第三方源的本地或网络共享。

+0

确定会尝试它,但我怎样才能打开我引用的DLL的来源)设置断点? – user740144

+0

进入函数一次...浏览cpp,然后您可以根据需要在其他函数中设置中断点。 –

+2

你也可以做**调试菜单 - >断点 - >新断点**。输入像** Foo :: MyFunction **这样的功能,它将设置中断点 –

1

我曾经使用过的地方使用.NET Reflector来遍历外部DLL。它是一个Visual Studio加载项,它使用反射来允许您通过.NET二进制文件的源代码进行调试(实际上是它们的MSIL反转等效项),并且对于非模糊代码非常简单高效。

+0

他有源代码,这没有任何意义。 –

+0

@Hans不一定,他显然可以访问图书馆的解决方案,但他肯定会在他的主应用程序中引用它们。考虑到这一点,使用Reflector进入库是很简单的,因为他需要实际做其他事情来让调试器考虑另一个解决方案中的源代码。 –