Breve tutorial de GDB
Carga de un programa
para un proyecto llamado ex1.elf, escribimos:
arm-none-eabi-gdb --tui target sim file ex1.elf load list
Comandos del GDB
comandos mas utilizados por el GDB, entre paréntesis se detalla la versión corta
break nn ( b nn ) realiza un break point en la linea nn
delete ( d ) borra todos los break point
delete n ( d n ) borra el break point n (n es el numero de orden en la creación del break point no la linea donde este se encuentra)
run ( r ) comienza la ejecución del programa
continue ( c ) continua la ejecución de un programa luego de haber sido detenido por un break point
step ( s ) ejecuta el programa hasta la próxima linea de instrucción next ( n ) similar a step, pero si la instrucción a ejecutar es un llamado a subrutina, ejecuta esta subrutina sin detenerse.
info register ( i r ) muestra el estado de los registros
x muestra el contenido de la memoria
x [dirección de memoria] x/{cantidad de elementos}{formato del elemento}{tamaño del elemento} [dirección de memoria]
descripción de los parámetros [dirección de memoria] el comando debe estar acompañado por la dirección de memoria a mostrar o en su defecto por una etiqueta {cantidad de elementos} opcional, indica la cantidad de elementos que se quiere ver, suponiendo que la dirección de memoria es el comienzo de un vector, se supone 1 en caso de omisión {formato del elemento} tipo del formato en que esta guradado el dato
- o - octal x - hexadecimal d - decimal u - unsigned decimal t - binary f - floating point a - address c - char s - string i - instruction
{tamaño del elemento} cantidad de bytes que ocupa cada elemento
- b - byte h - halfword (16-bit value) w - word (32-bit value) g - giant word (64-bit value)