我已经创建了一个实时项目的c代码。我使用的是Ubuntu 15.04,代码崩溃的结果是:
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,以便在调试时显示行号和源代码行。