首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于64bit程序生成dump资料,换机子用VS打开dump看不到堆栈

2013-02-15 
关于64bit程序生成dump文件,换机子用VS打开dump看不到堆栈本帖最后由 johnice 于 2013-01-23 17:12:30 编

关于64bit程序生成dump文件,换机子用VS打开dump看不到堆栈
本帖最后由 johnice 于 2013-01-23 17:12:30 编辑 如题:

!注意我说的是64位!我测试过32位的,不存在如下问题。

我在64位winsrv2003上用的X64配置编的测试exe,内容为在程序内抛出异常,并通过SetUnhandledExceptionFilter设置异常处理函数,在该函数内通过调用dbghelp.dll的MiniDumpWriteDump生成dump文件。

在本机执行生成dump文件(a.dmp),拖到vs10里面可以打开,看到详细的函数调用栈信息,

当我把exe,pdb以及a.dmp文件拷到其他64位机器(一台64位win7)下,将a.dmp拖到vs10里面,看到的函数调用栈信息,跟之前在winsrv2003上看到的是不一样的,而且很少,只有一两行,其他的都是灰色的

若我在这台64位win7上生成dump文件(b.dmp),则在当前这台win7上b.dmp可以看到详细函数栈,但是将该dump拷到原来的winsrv2003上又是同一样的情况,看不了

我还测试了相同系统的情况下,两台64win7 sp1 也还是相同的情况,
在本机可以看,说明dump文件生成应该是没问题的,只是一跨机就看不了,这到底是什么情况呢,符号库吗?

这是为什么呢?
我的理解是:只要pdb\exe\dmp\文件配套的话,就算系统底层模块的函数栈无法显示,但至少exe模块内的栈信息还是可以显示的,可目前我的情况是信息基本没有,有的时候甚至只有两三行灰色的

这个问题已经困扰我好几天了,求高手指导

[解决办法]
此问题估计得提交微软官网了。
[解决办法]
这问题,实际开发还真没碰到过。

热点排行