【发布时间】:2010-09-14 04:43:54
【问题描述】:
我想使用远程调试。 我要调试的程序在机器 b 上运行。 Visual Studio 在机器 a 上运行。
在机器 b 上,我有一个包含以下文件的文件夹:
- msvcr72.dll
- msvsmon.exe
- NatDbgDE.dll
- NatDbgDEUI.dll
- NatDbgEE.dll
- NatDbgEEUI.dll
如果您认为某些文件丢失了,您能否也描述一下它们通常的位置?
在下一步中,我在机器 b 上启动了 msvsmon.exe 和我的程序。在机器 a 上,我启动了 Visual Studio 2008 和编写程序的解决方案。然后我选择“调试 - 附加到进程”。我选择了“远程传输(仅本机,没有身份验证)”。我使用了正确的 IP 作为限定符并采用了正确的进程(program.exe)。过了一会儿,弹出窗口中出现以下消息:
program.exe 中 0x7c812a7b 处的未处理异常:0xE0434F4D:0xe0434f4d
我可以继续或中断;继续时,异常一次又一次地发生。所以我按下了break,出现了以下消息:
没有为任何调用堆栈帧加载符号。无法显示源代码。
【问题讨论】:
-
调用堆栈是什么样的?可能没有加载符号,因为它在程序内部引发了异常。唯一的另一个问题是确保您在远程系统上拥有正确的 exe。
-
@Xelluloid:您能否提供有关您如何附加过程的屏幕截图并证明 pdb 与 dll 位于同一文件夹中?最后,你能不能提供一个 MODULE 窗口的屏幕截图(在你附加进程之后,点击 ctrl->alt->u 并让我们看看加载了哪些模块。
标签: visual-studio-2008 remote-debugging