在外部Microsoft DLL中崩溃?

时间:2011-10-23 11:44:07

标签: debugging winapi visual-c++

我一直在与我的游戏引擎中发生的崩溃作斗争约6个月。我最近收到了一些来自崩溃的测试人员的内存转储(我自己没有得到它们)。测试人员在Windows 7 32位,我在Windows Xp 32位。崩溃似乎与Sapi有关,文本到语音部分更准确。我通过IDispatch接口调用它,使用在以下位置找到的包装器: http://www.morearty.com/code/dispatch/

以下是从两个内存转储中提取的两个堆栈跟踪。

http://www.blastbay.com/analysis1.txt

http://www.blastbay.com/analysis2.txt

第一个堆栈跟踪中显示的崩溃在游戏执行过程中随机出现,并且由于某种原因,即使perilous_hearts.pdb确实存在,整个堆栈也无法解析。在第二个跟踪中,它正好找到了perilous_hearts符号。我完全不知道这个错误可能是由什么引起的。谁能给我一些提示?

正如我之前提到的,这些崩溃不会发生在Windows XP上,而只会发生在Windows 7上,两者都是32位计算机。

1 个答案:

答案 0 :(得分:1)

在两种情况下,崩溃都是由hlas.dll引起的,无论是什么。正如分析所说,第一个堆栈中存在堆损坏,第二个堆栈中存在空指针函数指针。 Hlas也出现在您的other question about crashes in this same program