Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 外部Microsoft DLL中的崩溃?_Debugging_Winapi_Visual C++ - Fatal编程技术网

Debugging 外部Microsoft DLL中的崩溃?

Debugging 外部Microsoft DLL中的崩溃?,debugging,winapi,visual-c++,Debugging,Winapi,Visual C++,我已经和一个发生在我的游戏引擎中的崩溃做了6个月的斗争。我最近收到了一个测试人员的一些内存转储,他得到了崩溃(我自己没有得到)。测试仪在Windows7 32位上,我在WindowsXP32位上。这些崩溃似乎与Sapi有关,更确切地说,Sapi是文本到语音的部分。我通过IDispatch接口调用它,使用在以下位置找到的包装器: 下面是从两个内存转储中提取的两个堆栈跟踪 第一个堆栈跟踪中显示的崩溃似乎是在游戏执行过程中随机发生的,由于某种原因,即使存在危险的\u hearts.pdb,也无法

我已经和一个发生在我的游戏引擎中的崩溃做了6个月的斗争。我最近收到了一个测试人员的一些内存转储,他得到了崩溃(我自己没有得到)。测试仪在Windows7 32位上,我在WindowsXP32位上。这些崩溃似乎与Sapi有关,更确切地说,Sapi是文本到语音的部分。我通过IDispatch接口调用它,使用在以下位置找到的包装器:

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

第一个堆栈跟踪中显示的崩溃似乎是在游戏执行过程中随机发生的,由于某种原因,即使存在危险的\u hearts.pdb,也无法解决整个堆栈。在第二个痕迹中,它发现了危险的心符号。我完全不知道这个错误是由什么引起的。谁能给我一些提示吗


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

在这两种情况下,崩溃都是由hlas.dll引起的,不管是什么。正如分析所说,第一个堆栈中存在堆损坏,第二个堆栈中存在空指针函数指针。HLA也存在于您的。

不同的崩溃中,原因相同:堆损坏。崩溃位置与实际损坏堆的代码没有任何关系。使用应用程序验证程序来尝试查找错误。我曾尝试使用应用程序验证程序,但到目前为止没有结果。崩溃不会发生在我的开发机器上,我的测试人员也没有得到任何结果(至少现在还没有)。不幸的是,我不知道Hlas.dll是什么。你可以问你的测试人员Hlas.dll是什么,也许文件版本信息可以作为线索。一个小小的网络搜索表明,这是一个捷克公司GALOP的产品。dll显然是Sapi 4的捷克tts语音,所以我不知道为什么会涉及到它,但我会进一步调查,并在了解更多信息后再次回信。非常感谢。我的测试人员使用的是一个盲人屏幕阅读器,它显然将自身与外部进程挂钩,Hlas.dll不仅是一个Sapi 4语音,而且还为他的屏幕阅读器当时使用的Sapi 5引擎提供动力。这个dll显然是不稳定的,因此如果崩溃,屏幕阅读器和游戏也会随之崩溃。这就是我所能收集到的。这听起来像是一个可能的原因吗?我不认为我需要对此做出回应。你回答了你自己的问题