C# 在VisualStudio中调试引用的DLL

C# 在VisualStudio中调试引用的DLL,c#,.net,visual-studio,visual-studio-2013,C#,.net,Visual Studio,Visual Studio 2013,我在VisualStudio中有多个项目(我们称之为一个MyLibrary),其中包含许多我在其他项目中使用的漂亮函数和类。我直接添加了对MyLibrary.dll的引用,而不是项目本身 然而,我现在需要在运行另一个项目时中断MyLibrary中的某些内容。如何以设置项目的方式调试dll?事实上,我之前在这些项目中做过,但由于我没有做任何特别的事情,我不知道遗漏了什么 我只关闭了我的代码,并遵循了一些类似的提示,但我还没有进入.pdb的。如果我需要一个DLL来调试另一个DLL,我希望您提供一些关

我在VisualStudio中有多个项目(我们称之为一个
MyLibrary
),其中包含许多我在其他项目中使用的漂亮函数和类。我直接添加了对MyLibrary.dll的引用,而不是项目本身

然而,我现在需要在运行另一个项目时中断
MyLibrary
中的某些内容。如何以设置项目的方式调试dll?事实上,我之前在这些项目中做过,但由于我没有做任何特别的事情,我不知道遗漏了什么


我只关闭了我的代码,并遵循了一些类似的提示,但我还没有进入
.pdb的
。如果我需要一个DLL来调试另一个DLL,我希望您提供一些关于如何从
MyLibrary

导出该DLL的信息。您可能需要转到DLL的属性,并确保Copy Local设置为True。否则,模块将无法找到.pdb供您参考


如果没有帮助,您可以尝试使用调试模式重建外部库,然后手动将.dll和.pdb文件复制到应用程序的bin中。

调试时,如果加载了dll符号,请检入调试/模块。如果没有,让它们加载。可能会要求您设置包含pdb文件的文件夹。Pdb包含用于调试的符号。它必须与您在项目中使用的dll文件的版本相同。之后,您将能够调试库。

您不能,除非您同时拥有调试符号和源代码。如果没有调试符号,您将无法看到其他库的方法、符号、设置断点(到IL中)等。如果没有源代码,您将只能查看ILI并拥有源代码,但我似乎没有任何调试符号。调试符号是在您构建项目时生成的。您可以在bin/debug文件夹中找到它们。我在
obj
文件夹中找到了一个
pdb
。我的bin/debug文件夹没有。我可以确认我的引用的Copy Local设置为True。您可以尝试使用调试模式重建外部库,然后手动将.dll和.pdb文件复制到应用程序的bin。我在
obj
文件夹中找到了
MyLibrary.pdb
。我的另一个项目不会自动将其复制到本地,但我尝试将其复制到
bin
文件夹,但没有成功。仍然在使用发布版for
MyLibrary
。是否添加了dll作为项目的参考?如果没有-试试那一个。我没有
MyLibrary
.pdb
,这可能是这里的问题之一。Debug/Modules说,
二进制文件不是用调试信息构建的,所以没有为该dll加载符号。@Phil然后用调试信息重新构建它。您甚至可以为发布生成调试符号DLLs@PanagiotisKanavos很抱歉在这个问题上打扰您,但是我还没有找到一种方法来加载带有dll的pdb文件。如果我尝试在调试/模块中“手动”加载它,当我选择我在
obj
文件夹中的pdb时,它会说在该文件夹中找不到匹配的符号文件。它也有相同的时间戳,所以我知道它是匹配的。您还有其他建议吗?您必须在调试模式下编译要调试的库(更确切地说是使用生成的符号),然后在正在调试的另一个项目中重新加载dll。检查调试选项中是否包含管理(v4.5或您正在使用的版本)。