我已经为实时项目创建了 C 代码。我使用的是 Ubuntu 15.04,代码崩溃的结果是(gdb):
Program received signal SIGSEGV , Segmentation fault.
[Switching to thread 0x7fffeb7fe700 (LWP 4072)]
__GI___pthread_mutex_lock (mutex=0xfffffffeb5c6dcb0)
at ../nptl/pthread_mutex_loxk.c:67
67 ../nptl/pthread_mutex_lock.c: File o directory non esistente
小费: (gdb) x/i $pc 屏幕上出现以下消息:
=> 0x7ffff7bc4c84 <__GI___pthread_mutex_lock+4>: move 0x10(%rdi),%edx
问题是否是由 stackoverflow 引起的?我该如何解决这个问题? 是否可以知道出现崩溃的确切代码行?
最佳答案
我建议使用Valgrind帮助追踪此类错误。另外,请务必将 -g
选项传递给 gcc,以便在调试时显示行号和源代码行。
关于c - 如何查找由于信号 SIGSEGV、Segmentation failure 导致的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893196/