在 64 位机器上捕获的 32 位进程的调试转储 [英] Debugging dump of 32-bit process captured on 64-bit machine

查看:31
本文介绍了在 64 位机器上捕获的 32 位进程的调试转储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近收到了来自客户的 64 位故障转储.
我们的进程都是 32 位的,但客户的机器运行的是 x64 Server 2008.

I recently received a 64-bit crash dump from a customer.
Our processes are all 32-bit, but the customer's machine is running x64 Server 2008.

Visual Studio(2008 和 2010 Express)告诉我必须使用 MSVSMON.EXE 的 64 位版本,我不能,因为我没有 64-位机.

Visual Studio (both 2008 and 2010 Express) is telling me that I have to use the 64-bit version of MSVSMON.EXE, which I can't because I don't have a 64-bit machine.

我很确定在 WinDbg 中有一种方法可以做到这一点,但我发现 WinDbg 具有敌意.

I'm pretty sure there's a way to do this in WinDbg, but I find WinDbg to be hostile.

有没有办法在 32 位机器上调试 64 位转储,最好使用 Visual Studio?

Is there any way to debug a 64-bit dump on a 32-bit machine, preferably using Visual Studio?

推荐答案

您需要确保客户使用 32 位工具(adplus 或 DebugDiag)来捕获 32 位进程的故障转储.然后你可以使用你的 32 位机器来调试转储.

You need to make sure that customer uses 32 bit tools (adplus or DebugDiag) to capture crash dumps for your 32 bit processes. Then you can use your 32 bit machine to debug the dumps.

http://blogs.msdn.com/b/tess/archive/2010/09/29/capturing-memory-dumps-for-32-bit-processes-on-an-x64-machine.aspx

虽然 Isalamon 的评论在技术上是正确的,但没有人愿意执行它,因为堆栈跟踪太可怕了.

Though Isalamon's comment is technically correct, nobody would like to execute that as the stack trace is horrible.

让您的客户知道这是必要的,并希望他/她合作.

Let your customer know that this is necessary, and hope that he/she cooperates.

如果您不熟悉转储分析,Microsoft 随时为您服务,http://support.microsoft.com

If you are not familiar with dump analysis, Microsoft is always there for you, http://support.microsoft.com

这篇关于在 64 位机器上捕获的 32 位进程的调试转储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆