信号SIGSTOP在libc中的ARM组件中收到了吗?

时间:2012-08-23 10:39:25

标签: linux assembly arm

尝试理解此ARM程序集。我得到一个SIGSTOP信号。这里出了点问题。我会尝试但需要一些帮助

afd0c750:   push {r4, r7}        
afd0c754:   mov r7, #252    ; 0xfc  // what is this I think that its calling the SWI and it need the r7 to have this value.  
afd0c758:   svc 0x00000000
afd0c75c:   pop {r4, r7}
afd0c760:   movs r0, r0
afd0c764:   bxpl lr 
afd0c768:   b 0xafd3896c

1 个答案:

答案 0 :(得分:1)

SIGSTOP被发送到进程暂停它 - 以便以后恢复 - 并且不是错误条件 - 或直接由一个生成。

最可能的情况是,当线程在内核中执行时,您的进程已收到SIGSTOP - 并且很可能在那里被阻止。您的回溯将显示SVC指令作为最后在用户堆栈上执行的指令,因为这是用户空间到内核的转换。

从您的描述中不清楚SIGSTOP是如何表现出来的。可能的候选人gdb是其来源。

完整的回溯在这里非常有用。