如何找到因信号SIGSEGV,分段错误引起的错误?

时间:2015-10-01 17:14:32

标签: c

我为实时项目创建了一个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

Tiping: (gdb)x / i $ pc屏幕上显示以下消息:

     => 0x7ffff7bc4c84 <__GI___pthread_mutex_lock+4>:   move  0x10(%rdi),%edx

问题可能是由stackoverflow引起的吗?我该如何解决这个问题? 是否有可能知道崩溃出现的确切代码行?

1 个答案:

答案 0 :(得分:1)

我建议使用Valgrind来帮助追踪这类错误。另外,请务必将-g选项传递给gcc,以便在您进行调试时显示行号和源行。