将调试器附加到从Vendor Application调用的远程DLL PDB

时间:2013-09-30 20:36:49

标签: c# remote-debugging vendor

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

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,以便在远程应用程序实例化它时,我可以调试?

请帮忙!

1 个答案:

答案 0 :(得分:1)

如果您的开发计算机和调用您的dll的应用程序位于同一网络上 您可以使用Visual Studio远程调试。

  1. 首先,您必须将PDB文件复制到dll旁边的远程计算机上。
  2. 在远程计算机上安装VS Remote Debugger并将其打开。
  3. 在远程计算机上启动应用程序
  4. 从当地的VS。
  5. 附加到它

    在VS的“附加到进程”对话框中,您必须将VS Remote Debugger提供的标识符传递给“限定符”编辑。然后,您将在VS对话框中看到该计算机的所有进程,并选择加载程序集的应用程序。

    Here您可以找到有关如何设置VS Remote Debugger

    的更多信息