在ARM程序运行中经常出现SWI中断,我想找出是哪部分的代码出现了异常。(程序中没有主动设置软件中断,中断应该是由异常导致?)举例如下:
fun a()
{
call b();
}
fun b()
{
line 1;
line 2;
}
假设b函数line 2由于异常导致PC指向错误,程序进入软件中断,在进入软件中断之后,LR保存的是一个错误的PC,根据这个PC根本找不到是b函数出现问题,更不用说找到是哪一行代码出现问题啦。所以请教达人,怎么样才能在中断处理函数中找到正确的line 1的PC或者最起码函数a的PC也行。谢谢