挂起进程调试

时间:2013-10-11 15:00:53

标签: c

我有一个挂起的进程,并且在proc / sysrq-trigger输出中我看到调用堆栈被卡住了:

test_code         S 0000000101fcf430     0 15181      1         15182 15180 (NOTLB)
ffff810080997d28 0000000000200086 0000000000000006 0000000000000009 
ffff81012a8a0a28 ffff81012a8a07d0 ffff81010003b980 000079a97155a4a6 
0000000000001474 000000022a8a0808 

Call Trace:
<ffffffff802f3618>{schedule_timeout+30}
<ffffffff8014c1ef>{get_futex_key+71} <ffffffff80149a88>{add_wait_queue+21}
<ffffffff8014c597>{futex_wait_abstime+565}
<ffffffff8010a1da{do_notify_resume+180}
ffffffff8012d7d5>{default_wake_function+0} <ffffffff8014c9c7>{do_futex+104}
<ffffffff801886a7>{pwrite+328} <ffffffff8015692e>{compat_sys_futex+186}
<ffffffff801234b0>{sysenter_do_call+27}

Strace表示进程陷入困境:

[pid  7867] accept(12,  <unfinished ...>

我可以在调用堆栈中读取函数并调试问题吗?

1 个答案:

答案 0 :(得分:1)

如果它在accept (2)中,它没有挂起,它正在等待传入的连接。