1

我有一个调用我的类库(DLL)的供应商应用程序。供应商使用以下 VB 代码使用他们的 EXE 实例化我的类:

Dim objCustom As Object = System.Activator.CreateInstance("stuffGuiCustom", "stuff.stuffGuiCustom.clsCustomSandbox").Unwrap

之后,他们设置了两个属性:

objCustom.propform = mfrm
objCustom.propParent = objSandbox

之后,他们在我的代码中调用了一个函数,名为main

Call objCustom.main(objCustom, objGlobals, , clsSandbox)

当然,我没有 objSandbox 的任何类型或接口定义,供应商已将其标识为包含我需要的所有内容的关键对象。

我的 DLL 是在我的开发机器上编写的,但是,调用我的程序集的应用程序在远程机器上(我拥有机器的网络管理员和本地管理员权限)。

这是我的问题: 如何将我的 Visual Studio 调试器附加到 DLL,以便当远程应用程序实例化它时,我可以调试?

请帮忙!

4

1 回答 1

1

如果您的开发机器和调用您的 dll 的应用程序在同一个网络上,您可以使用 Visual Studio 远程调试。

  1. 首先,您必须将 PDB 文件复制到远程计算机中,紧挨着 dll。
  2. 在远程机器上安装 VS Remote Debugger 并打开它。
  3. 在远程机器上启动应用程序
  4. 从本地 VS 附加到它。

在 VS 的“附加到进程”对话框中,您必须将 VS 远程调试器为您提供的标识符传递到“限定符”编辑中。之后,您将在 VS 对话框中看到该机器的所有进程,并选择加载程序集的应用程序。

在这里您可以找到有关如何设置 VS Remote Debugger 的更多信息

于 2013-09-30T23:36:00.770 回答