Arm 在WindowsCE中使用自定义DataAbortHandler

Arm 在WindowsCE中使用自定义DataAbortHandler,arm,windows-ce,Arm,Windows Ce,我们正在开发一个基于Windows CE的应用程序。目前,我们正在与许多只在发布版本中出现的数据中止异常作斗争。我们只有有限数量的开发设备,它们实际上将调试流输出到串行端口。现在,我们想知道是否可以使用OemDataAbortHandler访问异常的内容,即写入调试流的所有内容,以收集用于诊断目的的数据。 理想情况下,我们可以创建包含以下数据的文本文件: Exception 'Data Abort' (4): Thread-Id=05a70002(pth=8252169c), Proc

我们正在开发一个基于Windows CE的应用程序。目前,我们正在与许多只在发布版本中出现的数据中止异常作斗争。我们只有有限数量的开发设备,它们实际上将调试流输出到串行端口。现在,我们想知道是否可以使用OemDataAbortHandler访问异常的内容,即写入调试流的所有内容,以收集用于诊断目的的数据。 理想情况下,我们可以创建包含以下数据的文本文件:

    Exception 'Data Abort' (4): Thread-Id=05a70002(pth=8252169c),
 Proc-Id=03cf000e(pprc=824f3d70) 'XXXX.exe', VM-active=03cf000e(pprc=824f3d70) 'XXXX.exe'
    PC=400323cc(coredll.dll+0x000223cc) RA=4003361c(coredll.dll+0x0002361c) SP=0102f27c, 
BVA=6464646c
现在,OemDataAbortHandler的签名是:

void OEMDataAbortHandler(void);

是否有任何方法可以访问写入调试流的数据?

您应该能够使用结构化异常处理\uuuu try/\uu,除了过滤数据中止异常。异常发生时的处理器状态在GetExceptionInformation内在函数的上下文参数中返回。看