当前位置: 代码迷 >> WinCE >> WinCE5.0平台怎么使用AddVectoredExceptionHandler()定位程序崩溃代码位置
  详细解决方案

WinCE5.0平台怎么使用AddVectoredExceptionHandler()定位程序崩溃代码位置

热度:416   发布时间:2016-04-28 11:53:33.0
WinCE5.0平台如何使用AddVectoredExceptionHandler()定位程序崩溃代码位置
正在完成的项目在ARM硬件WinCE5.0平台上使用EVC4.0开发应用软件,出现了软件运行一段时间后崩溃的问题,有时几个小时,有时几周,关键是还没有弹出对话框就直接崩溃了,所以无法根据崩溃地址和MAP文件定位,一时间非常着急,很难找到原因,看到了“91 Program”写的文章http://blog.csdn.net/91program/article/details/32093877,想使用函数 AddVectoredExceptionHandler()捕捉异常,以便定位到应用程序出错的位置,可是遇到以下问题:1.AddVectoredExceptionHandler()找不到头文件,看了msdn,包含了“windows.h”“winbase.h”也不行; 2 第一次接触,异常处理程序LONG WINAPI MyVectoredExceptionHandler不知道怎么写,才能帮助我定位到错误代码。已向大神“91 Program”求助,也不知人家有没有空给解释解释或者给个例程,诸位朋友如果可以给个例程的话,万分感激!!!邮箱:[email protected]
------解决思路----------------------
AddVectoredExceptionHandler 的调用要求:
Header                              winbase.h
Library                             coredll.lib
Windows Embedded CE Windows Embedded CE 6.0 and later
------解决思路----------------------
崩溃应该从串口看信息,不是弹框。
AddVectoredExceptionHandler 没用过。
------解决思路----------------------
引用:
崩溃应该从串口看信息,不是弹框。
AddVectoredExceptionHandler 没用过。


是的,特别是到 WinCE7,不是很严重的错误都不弹框的。
只是串口肯定有崩溃的信息输出。
------解决思路----------------------
崩溃串口没有东西我真没遇到过。
还是你的系统开机后调试口给禁用了?你在应用程序里面打印一些信息看看能否看到。
------解决思路----------------------
引用:
可是我的调试串口只在开机时有信息输出,开机后应用程序崩溃就没有信息输出了,请问在定制系统时如何操作,才能实现调试串口输出崩溃信息?


是定制 OS 时将调试串口关闭了,或做其它用途了。
这个需要重新定制系统,才能修改好。