我想使用远程调试.我要调试的程序在机器b上运行.Visual Studio在机器上运行a.
在机器b上我有一个包含以下文件的文件夹:
msvcr72.dll
msvsmon.exe
NatDbgDE.dll
NatDbgDEUI.dll
NatDbgEE.dll
NatDbgEEUI.dll
如果您认为某些文件丢失了,您是否还可以描述它们通常位于何处?
在下一步中msvsmon.exe
,我在机器b上启动了我的程序.在机器上,我启动了Visual Studio 2008和我编写程序的解决方案.然后我选择"Debug - Attach to Process".我选择了"远程传输(仅限本机,无需身份验证)".我使用正确的IP作为限定符并采取了正确的过程(program.exe).片刻之后,弹出窗口中出现以下消息:
program.exe中0x7c812a7b处的未处理异常:0xE0434F4D:0xe0434f4d
我可以继续或休息; 继续时,异常会一次又一次地发生.所以我按下了break并发出以下消息:
没有为任何调用堆栈帧加载符号.源代码无法显示.
Kyle Trauber.. 27
确保将使用程序集生成的.PDB文件复制到远程计算机上的同一文件夹中.这将允许调试器拾取调试符号.
确保将使用程序集生成的.PDB文件复制到远程计算机上的同一文件夹中.这将允许调试器拾取调试符号.
在您的开发计算机上添加一个共享文件夹,指向.pdb文件的位置
设置_NT_SYMBOL_PATH
在远程计算机上调用的环境变量,该变量指向dev计算机上的共享文件夹
远程调试器现在将在您的开发机器中搜索符号.无需为每个构建复制它们.
请在此处查看MS Video .
开始观看8-9分钟.他演示了如何设置远程调试器以从开发机器上的驱动器共享加载符号.
祝好运!
在Visual Studio 2010中的"工具"菜单上,选择"选项".
在"选项"对话框中,打开"调试"节点,然后单击"常规".
选中"根据需要显示所有设置"并找到" 仅启用我的代码" (仅限托管)
取消选中它,然后单击"确定"
您可以附加远程进程
如果不将.PDB文件放在调试代码所在的同一目录中,则.NET中的远程调试将不起作用.
如果VS仍无法找到调试源,则调试代码和VS项目源版本不同.解决方案是重建和重新部署项目.