C 挂起进程调试
我有一个挂起的进程,在proc/sysrq触发器输出中,我看到调用堆栈出现在:C 挂起进程调试,c,C,我有一个挂起的进程,在proc/sysrq触发器输出中,我看到调用堆栈出现在: test_code S 0000000101fcf430 0 15181 1 15182 15180 (NOTLB) ffff810080997d28 0000000000200086 0000000000000006 0000000000000009 ffff81012a8a0a28 ffff81012a8a07d0 ffff81010003b980 000079
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}
[pid 7867] accept(12, <unfinished ...>
测试代码S 0000000 101FCF430 0 15181 1 15182 15180(NOTLB)
ffff810080997d28 0000000000 2000086 0000000000000006 0000000000000009
ffff81012a8a0a28 ffff81012a8a07d0 ffff81010003b980 000079a97155a4a6
00000000000014740000000022A8A0808
呼叫跟踪:
{schedule_timeout+30}
{get_futex_key+71}{add_wait_queue+21}
{futex_wait_abstime+565}
{default_wake_function+0}{do_futex+104}
{pwrite+328}{compat_sys_futex+186}
{sysenter\u do\u call+27}
Strace显示在以下位置卡住的流程:
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}
[pid 7867] accept(12, <unfinished ...>
[pid 7867]接受(12,
调用堆栈中的函数有什么好的链接可以阅读并调试该问题吗?如果该函数处于未挂起状态,则它正在等待传入连接。这是完全正常的,accept()假定为“挂起”直到有人连接到端口。谢谢hans的回复。proc/sysrq触发器输出的输出显示等待get_futex_键,这是什么意思?