привет всем
сейчас я работаю на mips машине, ядро 2.4. Оказалось что в отладчике gdb не работает команда bt, кто нибудь знает как заставить ее работать?
>gdb не работает команда btДавай подробностей, у меня чакра в атсрал закрылась ))
>>gdb не работает команда bt
>
>Давай подробностей, у меня чакра в атсрал закрылась ))какие подробности? при команде bt выдается два нуля в столбец и все
>при команде bt выдается два нуля в столбец и всеВот видишь, уже команда bt работает, но резльтат не выдаёт. (сравни с первоначальным предложением)
Программа собрана с отладкой?
Ты не из обработчике сигнала пытаешься стек смотреть?Если оба раза да - значит стек затёрт и испорчен.
если нули выдает это значит что команда не работаетсобираю с дебажными символами, сигналы не использую. видимо это фишка платформы :(
>если нули выдает это значит что команда не работаетНе работает, это "bt: command not found"
>сигналы не использую.
Они тебя забыли спросить, используешь ты их или нет ))
В какой момент ты выполняешь команду bt ?
> видимо это фишка платформы :(
Хватить бредить и поклоняться перуну. Нормальная платформа. Стек везде одинаковый.
если command not found-это значит команды вообще нет. между вообще нет и не работает есть разница, ненаходишь?bt после gdb myapp -c core.xxx
если бы был везде одинковый-работало бы
>bt после gdb myapp -c core.xxxНу вот, ты в обработчике сигнала, и стек скорее всего испорчен, и gdb не может его раскрутить
сказано же-я не задаю обработчиков сигналов
>сказано же-я не задаю обработчиков сигналовЭто твои проблемы. Но если ты обращаешься к неправильной памяти, программа получает и обрабатывает SIGSEGV или подобный сигнал, и создаётся дамп.
Скорее всего дело обстоит так.
1. Ты портишь стек.
2. Программа не может выйти из функции (переходит по мусору) и ловит SEGV делает дамп.gdb аналогично не видит в мусоре никакого стека.
Это может быть везде, а не только на mips.