即使在GDB中,C ++代码也会挂起

时间:2013-12-26 10:56:08

标签: c++ gdb valgrind

大约5k行的C ++代码随机挂起 - 在linux中。我的代码处理通过RAW套接字发送和接收数据包。代码只是在一个点上随机停止而没有任何响应 - 甚至[ctrl + c]证明很方便::每次挂起之后我都会用来杀死进程。 我尝试了GDB,结果是一样的,它被绞死了--ctrl + c产生了一个SIGTERM错误信息。 在使用valgrind时,代码也被绞死了。

如何调试此问题?这是什么类型的系统错误吗?

1 个答案:

答案 0 :(得分:0)

使用strace命令,很明显挂起是由于futex_wait_private问题。套接字读取被推入死锁场景。在增加选择超时值时 - 可以解决问题。

相关问题