If there is a exception wasraised in you software, it always will give you such as following information:


Exception 'Data Abort' (4):Thread-Id=0c3e005e(pth=c09b6d80),Proc-Id=00400002(pprc=806c25a0) 'NK.EXE', VM-active=04f10006(pprc=c0847660) 'GweUser.exe'

PC=ef995d4c(k.usbd.dll+0x00005d4c) RA=ef99432c(k.usbd.dll+0x0000432c) SP=da75ef10, BVA=7e323030


From the trace, we know

The Thread ID is 0x0C3E005E which raised exception

PC address is 0xEF995D4C, the function is the one less than0x00005d4c ink.usbdd.dll

RA(return address) is 0xEF99432C, the function is theone less than 0x0000432c ink.usbd.dll


If we suppose the function name atk.usbd.dll+0x0000432c-4 isA_RA, and function name at k.usbd.dll+0x00005d4c is B_PC, then information means A_RA is callingB_PC, B_PC raising the exception.


We can get the function name in .map (forthe example is k.usbd.map) file by the address PC or RA.