【问题标题】:Debugging a dll in c#在 C# 中调试 dll
【发布时间】:2011-05-12 05:50:03
【问题描述】:

在搜索调试 c# DLL 时,我偶然发现了这篇文章。

http://msdn.microsoft.com/en-us/library/c91k1xcf%28v=VS.100%29.aspx 上面写着

您可以从以下位置开始调试 DLL:

用于创建调用 DLL 的可执行文件的项目。 或者 用于创建 DLL 本身的项目。

我有可执行项目和 DLL 的源代码 (C#)。

我的 DLL 项目在不同的解决方案中。

我想从我的 exe 项目中调试 DLL。我该如何进行。我已经搜索了 goole,但没有任何详细的步骤。我还将DLL项目添加到exe项目解决方案中,并在库项目的源代码中添加了断点。但是断点永远不会被击中。调试器如何知道我已经加载了 DLL 的源代码。我错过了什么吗?


更新:
按照 Avitus 和 Mick 的建议,我将 DLL 项目添加到 exe 解决方案中。还添加了对 DLL 项目的引用和断点。

我也试过通过DLL项目调试它

项目--属性--在启动外部程序中调试和设置exe。在这种情况下,没有命中断点,它一直说没有加载调试符号。我在这里尝试了所有选项但没有成功 配置设置为活动(调试)。 调试信息设置为完整。 在工具--选项--调试(启用我的代码[托管代码]未选中) 在工具--选项--调试--符号中,我有所有模块,除非选择了排除并且指定排除的模块列表为空。由于某种原因,这种方法不起作用。

【问题讨论】:

  • 你不能把两个项目放在同一个解决方案下,然后从你的exe项目中引用你的dll项目吗?
  • 或者将dll的调试目标设置为可执行文件。
  • @Avitus..我不想更改任何调试代码。
  • @Ritch....我已经尝试过该选项,但仍然没有命中断点。
  • @Talk2Me 对于 Ritch 的解决方案,确保 .pdb 文件与运行时使用的 dll 位于同一位置

标签: c#


【解决方案1】:

DLL 必须有一个调试数据库,或者基本上您必须将 DLL 的解决方案包含在您要对其进行调试的解决方案中。

Visual Studio 还具有创建测试功能,可为方法和函数生成一堆测试。

【讨论】:

  • 我已将我的 DLL 项目添加到我的解决方案中。但我的问题是 Visual Studio 如何知道它必须指向实际代码而不是 DLL 方法。
  • @Talk2Me 您应该确保您的 .exe 项目使用项目引用(添加引用时,请从“项目”选项卡中添加)
  • @Mick...非常感谢您的帮助。这节省了很多时间。
猜你喜欢
  • 2010-11-06
  • 1970-01-01
  • 2013-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多