地图文件看起来像:如何诊断此次崩溃?
0002:000442e4 00000118H .idata$2 DATA
0002:000443fc 00000014H .idata$3 DATA
0002:00044410 00000b7cH .idata$4 DATA
0002:00044f8c 0000512eH .idata$6 DATA
0002:0004a0ba 00000000H .edata DATA
的崩溃信息是这样的:
Application Error : The instruction at "0x00458ae1" referenced memory at "0x00000074". The memory could not be "read".
我试图让下一个崩溃堆栈转储,但在我看来,这是一个我们打破了堆栈,然后做了一个回报,这使我们最终执行数据。
我不能完全肯定,但因为我看过一些这样的文章:Under the Hood Article似乎表明这是进口的方法名
,一个导入库提供了导入API的数据的区域保持 其名称全部以.idata开头(例如, .idata $ 4,.idata $ 5和.idata $ 6)。 .idata $ 5部分包含一个 单个DWORD,当可执行程序加载时,它包含导入的函数的地址 。 .idata $ 6部分(如果存在)包含导入函数的名称 。将可执行文件加载到 内存时,Win32加载程序使用此字符串有效地调用导入的函数上的GetProcAddress。
没有堆栈回溯我有点卡住了。我看着这次崩溃是错误的吗?