2013-06-24 3 views
0

У меня есть этот C код, который бежал отлично до обновления моей системы в Scientific Linux 6. Он имеет некоторые OpenGL вещи, и она компилируется в GCC с этими параметрамисегментации в C, ядро ​​сбрасывали, выход GDB

-lncurses -lX11 -lGL -lm -g 

, но затем это seg неисправностей. После this post я получаю эту

bash-4.1$ gdb test core.5593 
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1) 
Copyright (C) 2010 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "x86_64-redhat-linux-gnu". 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>... 
Reading symbols from /home/kde8/test...(no debugging symbols found)...done. 
[New Thread 5593] 
Missing separate debuginfo for 
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/50/fc20fea18a6f375789f0f86e28f463d50714fd 
Reading symbols from /usr/lib64/libX11.so.6...(no debugging symbols found)...done. 
Loaded symbols for /usr/lib64/libX11.so.6 
Reading symbols from /usr/lib64/nvidia/libGL.so.1...(no debugging symbols found)...done. 
Loaded symbols for /usr/lib64/nvidia/libGL.so.1 
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. 
Loaded symbols for /lib64/libm.so.6 
Reading symbols from /lib64/libncurses.so.5...(no debugging symbols found)...done. 
Loaded symbols for /lib64/libncurses.so.5 
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. 
Loaded symbols for /lib64/libc.so.6 
Reading symbols from /lib64/libtinfo.so.5...(no debugging symbols found)...done. 
Loaded symbols for /lib64/libtinfo.so.5 
Reading symbols from /usr/lib64/libxcb.so.1...(no debugging symbols found)...done. 
Loaded symbols for /usr/lib64/libxcb.so.1 
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done. 
Loaded symbols for /lib64/libdl.so.2 
Reading symbols from /usr/lib64/nvidia/libGLcore.so.1...(no debugging symbols found)...done. 
Loaded symbols for /usr/lib64/nvidia/libGLcore.so.1 
Reading symbols from /usr/lib64/nvidia/tls/libnvidia-tls.so.1...(no debugging symbols found)...done. 
Loaded symbols for /usr/lib64/nvidia/tls/libnvidia-tls.so.1 
Reading symbols from /usr/lib64/libXext.so.6...(no debugging symbols found)...done. 
Loaded symbols for /usr/lib64/libXext.so.6 
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done. 
Loaded symbols for /lib64/ld-linux-x86-64.so.2 
Reading symbols from /usr/lib64/libXau.so.6...(no debugging symbols found)...done. 
Loaded symbols for /usr/lib64/libXau.so.6 
Core was generated by `./test'. 
Program terminated with signal 11, Segmentation fault. 
#0 0x0000000000408169 in InitConds() 
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6.x86_64 libX11-1.5.0-4.el6.x86_64 libXau-1.0.6-4.el6.x86_64 libXext-1.3.1-2.el6.x86_64 libxcb-1.8.1-1.el6.x86_64 ncurses-libs-5.7-3.20090208.el6.x86_64 

Я попытался DebugInfo установить, но получил это сообщение:

No debuginfo packages available to install 
+1

Хмм, вы попробовали команду 'yum --disablerepo = '*' --enablerepo = '* - debug *' install/usr/lib/debug/.build-id/50/fc20fea18a6f375789f0f86e28f463d50714fd', которую он тоже предложил? – andrewdotn

ответ

1

Попробуйте фактически запустить программу с gdb, а не только загружается файл ядра вверх. Это может быть более полезно. Также вы можете попробовать использовать valgrind для запуска: это потрясающий инструмент для отладки памяти. Даже без debuginfo вы, надеюсь, узнаете, какая строка в исходном файле вызывает сбой.

Убедитесь, что вы скомпилировали свою программу с включенной отладкой (gcc -ggdb).

1

Из командной строки введите следующие команды: gdb [program name] Это откроет отладчик gdb. run [command line arguments] Теперь программа будет отключена. backtrace Это покажет вам, где ваша программа разбилась.