Estoy usando GDB para depurar un programa para un Cortex M3. En las funciones donde el programa falla, cuando ejecuto línea por línea (usando n
), eventualmente obtengo:
(gdb) n
0x0800f498 in ?? ()
ahora si retrocedo (usando bt
) justo después de recibir:
(gdb) bt
#0 0x0800f498 in ?? ()
#1 0xfffffff8 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
¿A qué se refieren exactamente las direcciones 0x0800f498
y 0xfffffff8
? ¿Cómo llegué allí? ¿Ver la ayuda del archivo linker map
?
Editar : cuando hago info registers
esto es lo que obtengo:
info registers
r0 0x2001ffe8 537001960
r1 0x0 0
r2 0x0 0
r3 0x7ada53e6 2061128678
r4 0x0 0
r5 0x0 0
r6 0x0 0
r7 0x0 0
r8 0x0 0
r9 0x0 0
r10 0x0 0
r11 0x0 0
r12 0x0 0
sp 0x2001ffb0 0x2001ffb0
lr 0xfffffff9 4294967289
pc 0x800f499 0x800f499
fps 0x0 0
cpsr 0x1000023 16777251