如何从Visual Studio 2013调试引用的DLL文件?

时间:2014-06-24 14:37:23

标签: vb.net debugging dll visual-studio-2013

首先,我知道这个问题已经被问过了一百万次,但由于我没有VB / Visual Studio的经验,我找不到一个我能理解的解决方案。

我正在创建new VB.net project(solution?),并且正在调用C library文件中dll的函数。 dll文件确实有一个pdb文件,它们都存储在同一位置。

在下面的代码中,它显示了我如何在VB.net代码中声明函数,但我还没想出如何将pdb文件附加到项目中。

Declare Function InitRelay Lib "Z:\Devel\RelayAPI\Debug\RelayAPI.dll" (ByVal setbaud As Action(Of Short), ByVal getit As Func(Of Short, Short), ByVal putit As Action(Of Short), ByVal flushit As Action, ByVal delay As Action(Of Short)) As Byte
Declare Sub FreeRelay Lib "Z:\Devel\RelayAPI\Debug\RelayAPI.dll" ()
...

我在DLL文件的某个地方得到了一个异常,但是我设置它的方式,我无法调试dll文件。无论是添加断点还是打印语句,我都需要一种方法来查看项目失败的dll中的位置。

我看过的问题:

  • How to debug a referenced dll - 我尝试按照接受的答案中给出的菜单路径,但是当我转到项目>>项目属性我看不到构建选项。它还说我可以直接在IDE中加载符号,如果我不想复制任何文件,但我找不到如何做的解释。 编辑 - 正如下面的Plutonix所说,C#Build相当于VB的编译选项卡。我查了一下,我的Debug Info设置为Full,所以这不能解决我的问题。
  • Debugging a third-party DLL in Visual Studio? - 这会讨论DLL语言中的.NET但我的语言是C.但它也只告诉您如何查看代码,我已经可以这样做了。我可以访问用于创建dll的.c和.h文件,我无法在运行时调试它们。

1 个答案:

答案 0 :(得分:-1)

调试DLL时,可以从以下位置开始调试: 该项目用于创建调用DLL的可执行文件。 - 或 - 该项目用于创建DLL本身。

有几种方法可以使用VS 2013调试引用DLL文件,因此Microsoft使用的方法

- >指定调试会话的可执行文件

  1. 解决方案资源管理器中,选择创建DLL的项目。
  2. 查看菜单中,选择属性页
  3. 属性页对话框中,打开配置属性文件夹,然后选择调试类别。
  4. 命令框中,指定容器的路径名。例如,C:\ Program Files \ MyApplication \ MYAPP.EXE。
  5. 命令参数框中,为可执行文件指定任何必要的参数。
  6. 这里我包含了两种直接从Microsoft调试DLL文件的方法。

    1> http://msdn.microsoft.com/en-us/library/605a12zt.aspx (纯模式)

    2 - ; http://msdn.microsoft.com/en-us/library/kbaht4dh.aspx (混合模式)

    如果这对您有帮助或解决了您的问题,请务必放弃“投票”

    参考所有信息均来自个人经验和Microsoft