It is hard to guess what went wrong from the limiting information.It would be useful to see the value of the stacked PSR, which might show which handler is the last executed ISR.Also you should check the SP values to see if they are in correct memory space.Could you clarify"The return PC points to the instruction that tried to set the PC. "What instruction is it? Is it a instruction withing exception handler?If you are using KEIL tool, there is a feature that allow exception trace via ULINK2.I don't know if there is similar feature in IAR tool.