c - 挂起进程调试

标签 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 ...>

是否有任何好的链接可以让我阅读调用堆栈中的函数并调试问题?

最佳答案

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

关于c - 挂起进程调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19321338/

相关文章:

C - 宏观矛盾

c - struct 声明 typedef struct A { ... } B; 是什么意思?意思是?

c - 逗号运算符 , 有什么作用?

c - C中通过socket接收和发送数据

字符数(我不知道下一步该怎么做)

c - 将值加载到函数内的结构指针中

c - 如何编译使用不推荐使用的函数(例如 gets())的 C 程序

c - 对 `scanf_s' 的 undefined reference

c - 联盟和字节顺序

c - 如何构建与 Windows 运行时静态链接的 OpenSSL?