Я хочу сбросить stacktrace моей программы в качестве примера, продемонстрированного на backtrace[3], но вместо этого я получил результат ниже.Stacktrace arm-linux-gcc
Я использую Linux 2.6 и нарукавную Linux-GCC 4.3.2.
Бег:
arm-linux-gcc prog.c -o prog -rdynamic
результат:
трассировка() дала 1 адрес
/lib/ld-linux.so.3 [0x40025000]
Не могли бы вы помочь мне решить эту проблему?
Благодаря
У меня нет никаких проблем с ССЗ, но я не могу получить следы с рукой-Linux-GCC.
Спасибо за ваш комментарий, но я не получил ожидаемого результата (сообщений для backtrace_symbols нет), я работаю на устройстве _mini 2440_ – Ocean
Возможно, что ваша версия ** glibc ** или ** uclibc * * не содержит рабочей реализации 'backtrace()' для вашей архитектуры. В проекте, над которым я работал один раз, нам нужно было свернуть собственный 'backtrace()', потому что существующий не был полностью реализован. Если это так, [этот ответ] (http://stackoverflow.com/a/2536136/203667) может оказать некоторую помощь. – jschmier
может быть! Ядро linux будет удалять трассировку стека при возникновении какой-либо проблемы, я проверю вашу рекомендацию. спасибо за ваш комментарий @jschmier – Ocean