我收到的报告显示我的应用程序在某些Vista计算机上导致了GPF。错误消息是这样的:
访问冲突0x75784062(试图写入0x00000006)
为了解决这个问题,我首先需要确切知道是谁造成了这个GPF:我的主要exe,一些第三方组件,我自己的一个activex组件,一个dll等等......
我怎么能找到这个?哪些工具可以精确定位造成这种混乱的确切模块?
任何帮助将不胜感激。
PS我的应用程序用VB6编码,我的activex控件用Delphi 2007编写。
我收到的报告显示我的应用程序在某些Vista计算机上导致了GPF。错误消息是这样的:
访问冲突0x75784062(试图写入0x00000006)
为了解决这个问题,我首先需要确切知道是谁造成了这个GPF:我的主要exe,一些第三方组件,我自己的一个activex组件,一个dll等等......
我怎么能找到这个?哪些工具可以精确定位造成这种混乱的确切模块?
任何帮助将不胜感激。
PS我的应用程序用VB6编码,我的activex控件用Delphi 2007编写。
我的建议是尝试MadExcept 链接文字 或Eurekalog 链接文字 。这些捕获未处理的异常并在出现问题时生成堆栈转储。
除了作为满意的客户之外,没有其他链接。 MadExcept使我能够追踪并消除程序中一些非常罕见的问题。
我会推荐某种Exception-hook,比如 Eurekalog 要么 madExcept 当发生异常时,它会给你一个很好的callstack。
现在,这需要你很多帮助,cource ...
我对“查找错误”对话框没有任何好运。通常,一致的失败案例和大量的步进是唯一/最快/最简单的解决方案。如果是未初始化指针或释放对象的情况,FastMM4可以帮助您进行正确的设置。
当程序崩溃Windows应该保存一个 崩溃转储。然后,您可以在WinDbg中加载它,或者在Visual Studio中加载它。有多种方法可以分析转储以找出问题所在。为了帮助您入门:
安装 调试诊断 并监控您的应用程序,他为您生成DUMP文件并进行分析。
您可以使用Process Monitor或Process Explorer Sysinternals的 现场。
跟踪AV可能是困难的,因为真正的原因可能不在异常实际发生的同一点。一些一般提示: