我有一个常用的dll,我用于我的项目。我们已经将它作为一个nuget包并在我公司本地使用它。
但是,现在我从该dll中获取了一个空引用异常。如果我尝试进入它(F11)它只是跨过它。
现在,我来自Delphi背景,在Delphi中,您可以提供库的代码,它可以让您逐步完成它。
我希望有一种方法可以说,“这是代码,请像我正在使用的dll一样逐步完成。”
否则我将不得不更改对此dll的引用,然后将代码添加到项目中。我可以这样做,但似乎应该有一个更简单的方法。
答案 0 :(得分:5)
试试这个
转到Debug->选项和设置 - >调试 - >一般 - >取消选中选项:启用“仅我的代码”,然后尝试使用F11
您可以尝试的另一件事是手动加载其他DLL的符号。一旦处于调试模式(在进入其他dll代码之前),请转到Debug-> Windows-> Modules。它会显示所有加载的dll。右键单击您的dll并手动为其加载符号
答案 1 :(得分:1)
确保您的dll也是调试版本,并且使用dll生成的.pdb文件放在与dll相同的位置。重建当前项目,您应该可以进入函数调用。
答案 2 :(得分:0)
如果你有另一个proyect的源代码,请尝试执行你的aplicacion并附加到它(在VS菜单Debug - > Attach to Process)。 Yoy应该能够在DLL内部进行调试。
其他选项是使用.NET Reflector或ILSpy。如果它没有被模仿,它们允许您在DLL内部进行调试。