Я использую GNUEABI для удаленной отладки устройства ARM, я могу установить точки останова, шаг, просмотреть память и т. Д.
... в общем жизнь хороша
однако, когда произойдет произвольный перерыв, а затем наберет 'info threads', я получу список потоков, но символы не разрешаются
например
(gdb) info threads
7 Thread 10283 0x402a42a4 in ?? ()
6 Thread 10282 0x402a42a4 in ?? ()
5 Thread 10281 0x401c9d68 in ?? ()
4 Thread 10280 0x401c9d68 in ?? ()
3 Thread 10279 0x401cb3f4 in ?? ()
*2 Thread 10278 0x401cb294 in ?? ()
1 Thread 10195 0x0001c5e0 in ?? ()
если бы я установил точку останова, а затем подождал, пока она достигнет всех потоков, но тот, у которого точка останова, была бы такой же, как указано выше, но поток с точкой останова разрешил бы
если я попытаюсь изучить обратную трассировку одного из этих потоков, то я увижу что-то вроде этого
(gdb) bt
#0 0x003d0f00 in ?? ()
#1 0x0000027f in ?? ()
#2 0x00000277 in ?? ()
#3 0x4360c4e0 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
ПРИМЕЧАНИЕ. Я не думаю, что стек поврежден, скорее, я думаю, что GDB считает, что стек поврежден, связано с проблемой и, вероятно, с подсказкой?
идеи? - имейте в виду, что когда точка останова попадает в стек вызовов, выглядит великолепно.