【发布时间】:2017-08-18 09:56:17
【问题描述】:
我正在设备上运行应用程序,该设备可以通过串行 USB 接口连接外部附件。我注意到,从 USB 端口拔下配件时,设备挂起。串行日志显示抛出了 Data Abort 异常:
[错误] PID:00400003 TID:0250001A 异常“数据中止”(0x4):线程 ID=0250001a(pth=bd8d2660),Proc-Id=00400002(pprc=8534a5e0)“NK.EXE”,VM- active=046b0082(pprc=bd895298) 'Osl_Spec.exe'
[错误] PID:00400003 TID:0250001A PC=8042f520(kernel.dll+0x00014520) RA=cb33fdf0(???+0xcb33fdf0) SP=dcfffae8, BVA=00000014
[错误] PID:00400003 TID:0250001A 异常“引发异常”(0x116):线程 ID=0250001a(pth=bd8d2660),Proc-Id=00400002(pprc=8534a5e0)“NK.EXE”,VM- active=046b0082(pprc=bd895298) 'Osl_Spec.exe'
[错误] PID:00400003 TID:0250001A PC=eff0e4d8(k.coredll.dll+0x0001e4d8) RA=80429648(kernel.dll+0x0000e648) SP=dcfff1fc, BVA=ffffffff
[错误] PID:00400003 TID:0250001A 异常“数据中止”(0x4):线程 ID=0250001a(pth=bd8d2660),Proc-Id=00400002(pprc=8534a5e0)“NK.EXE”,VM- active=046b0082(pprc=bd895298) 'Osl_Spec.exe'
[错误] PID:00400003 TID:0250001A PC=8042f520(kernel.dll+0x00014520) RA=cb33fdf0(???+0xcb33fdf0) SP=dcfffad4, BVA=00000014
[错误] PID:00400003 TID:0250001A 异常'引发异常' (0x116): 线程 ID=0250001a(pth=bd8d2660), Proc-Id=00400002(pprc=8534a5e0) 'NK.EXE', VM- active=046b0082(pprc=bd895298) 'Osl_Spec.exe'
[错误] PID:00400003 TID:0250001A PC=eff0e4d8(k.coredll.dll+0x0001e4d8) RA=80429648(kernel.dll+0x0000e648) SP=dcfff1e8, BVA=ffffffff
我想了解导致这些异常的源代码部分。我已经阅读了几篇文章,这些文章建议使用 RA(返回地址)旁边显示的驱动程序文件的 MAP 文件,但在我的错误中我看到“???”而不是驱动程序文件名。 OSL_SPEC.exe 是我的应用程序。请建议我如何在代码中找到问题的根源。
【问题讨论】:
标签: c++ windows visual-studio windows-ce msdn