.NET - 如何调试DLL?

Amo*_*tir 7 asp.net debugging dll

我需要调试作为DLL提供给主项目(ASP.NET网站)的类库项目.例如,我需要设置一些断点以检查执行期间发生的情况.

我试过如何:从DLL项目调试,不幸的是它没有用...

我该怎么做?

PS:我有源代码!

Jos*_*osh 8

如果您的BIN目录中有源代码和.pdb文件,那么您可以通过该代码进行调试.但是,您需要在Visual Studio中启用外部代码调试.

您需要取消选中"启用我的代码"选项:菜单工具 - > 选项 - > 调试 - > 启用我的代码

注意:这仅适用于.NET程序集.


Rob*_*and 5

在 Visual Studio 中调试 DLL(参见列表中的 #2)可能是您正在寻找的(完全披露:是的,这是我的个人网站)。

  • 使用方法#1,你不能观察变量。

  • 使用方法#2,步骤#2,如果无法在同一个Visual Studio 实例中打开项目,则可以运行项目的二进制文件(即在Visual Studio 之外运行,但请确保运行调试版本。)并将 Visual Studio 调试器附加到它(菜单Debug -> Attach to Process)。

以下是方法#2 的步骤,所以没有人必须点击链接:

将使用过程附加到 DLL 项目。这涉及将 Visual Studio 调试器挂接到正在运行的进程中。

  1. 在 Visual Studio 中打开 DLL 项目。
  2. 运行使用 DLL 的应用程序。此应用程序不能从 Visual Studio 的另一个实例运行,因为该进程已经附加了一个调试器。
  3. 从这里您可以添加断点并逐步执行在 Visual Studio 中加载的 DLL 代码(尽管断点将显示为与方法 1 中相同的禁用状态)。