c++ - How to find Data Abort exception function/instruction from source code? -


i running application on device, device can have external accessories connected serial usb interface. noticed while unplugging accessory usb port device hangs. serial log show data abort exceptions thrown:

[error] pid:00400003 tid:0250001a exception 'data abort' (0x4): thread-id=0250001a(pth=bd8d2660), proc-id=00400002(pprc=8534a5e0) 'nk.exe', vm-active=046b0082(pprc=bd895298) 'osl_spec.exe'

[error] pid:00400003 tid:0250001a pc=8042f520(kernel.dll+0x00014520) ra=cb33fdf0(???+0xcb33fdf0) sp=dcfffae8, bva=00000014

[error] pid:00400003 tid:0250001a exception 'raised exception' (0x116): thread-id=0250001a(pth=bd8d2660), proc-id=00400002(pprc=8534a5e0) 'nk.exe', vm-active=046b0082(pprc=bd895298) 'osl_spec.exe'

[error] pid:00400003 tid:0250001a pc=eff0e4d8(k.coredll.dll+0x0001e4d8) ra=80429648(kernel.dll+0x0000e648) sp=dcfff1fc, bva=ffffffff

[error] pid:00400003 tid:0250001a exception 'data abort' (0x4): thread-id=0250001a(pth=bd8d2660), proc-id=00400002(pprc=8534a5e0) 'nk.exe', vm-active=046b0082(pprc=bd895298) 'osl_spec.exe'

[error] pid:00400003 tid:0250001a pc=8042f520(kernel.dll+0x00014520) ra=cb33fdf0(???+0xcb33fdf0) sp=dcfffad4, bva=00000014

[error] pid:00400003 tid:0250001a exception 'raised exception' (0x116): thread-id=0250001a(pth=bd8d2660), proc-id=00400002(pprc=8534a5e0) 'nk.exe', vm-active=046b0082(pprc=bd895298) 'osl_spec.exe'

[error] pid:00400003 tid:0250001a pc=eff0e4d8(k.coredll.dll+0x0001e4d8) ra=80429648(kernel.dll+0x0000e648) sp=dcfff1e8, bva=ffffffff

i want part of source code responsible these exceptions. have read few articles suggest using map files of driver file shown next ra(return address) in errors see "???" instead of driver file name. osl_spec.exe application. kindly suggest how can source of problem in code.

there multiple way first need have compiled file debug flag. if have done that, , bug reproductible, can run file in debug mode stop point in code (on linux can gdb, on windows may exist kind of tool). if bug non reprouctible, should find way catch exception in main function , return call stack. use copy of addr2line on windows find function cause exception.

i noticed logs talks kernel.dll , k.coredll.dll. these file part of project (as lib) or vm? should take eye on these file (+ adress offset) if part of project.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -