2013-08-09 6 views
0

Я пытаюсь отлаживать один из моих сбоев и, похоже, вызван прерыванием, поднятым из какого-то места, и мой gdb не дает вместо того, чтобы отображать только несколько кадров в стоп-кадре. Любые предложения были бы наиболее желанными в отладке этой проблемы.Caller for abort() неизвестен в backtrace, любые предложения по отладке этого

(gdb) bt 
#0 0x76453fc4 in raise() from /lib/libc.so.0 
#1 0x7644d654 in abort() from /lib/libc.so.0 
#2 0x7644cc4c in ??() from /lib/libc.so.0 
warning: GDB can't find the start of the function at 0x7644cc4a. 
+2

Попробуйте 'valgrind', может дать вам подсказку, где вы развращаете состояние своей программы. – Mat

+0

Скомпилированы ли вы с опцией -g? – Uman

+0

Да, у меня есть -g включен в buildroot. Но все же я не получаю полный стек вызовов. Мне нужно проверить, портирован ли valgrind и проверен в моем buildroot. – rajeshk

ответ

1

valgrind. Будет полезно скомпилировать с отладочной информацией (-g с использованием GCC) перед использованием valgrind.

0

Укороченные трассировки стеки вы получаете чаще вызван несоответствием между libc.so.6, который вы использовали при взгляде на core, и тот, который был использован для производства этого core.

Учитывая, что вы говорите о buildroot, кажется вероятным, что это могло произойти.

Вы : отладка core дамп, а не живой процесс, не так ли?