Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

353
Vistas
en gdb, ¿podemos establecer una variable como expresión?

En el código C de u-boot, el valor "gd" se declara así. (brazo)

 register volatile gd_t *gd asm ("r9")

y el registro r9 contiene el puntero a la estructura global_data. (typedef'd a gd_t)

Durante la depuración/análisis, para ver gd->malloc_base en el código C, escribir "p gd->malloc_base" no funciona. dice Missing ELF symbol "gd" .
Más tarde aprendí que debería hacer "p ((gd_t *)$r9)->malloc_base" para ver el valor. Estoy escribiendo este tipo de comando muchas veces al día. ¿No hay alguna forma de asignar una variable en gdb que represente ((gd_t *)$r9)? y ¿por qué gdb no reconoce el valor gd en el código?
Lo que quiero hacer es crear una variable que represente ((gd_t *)$r9) para poder usarla como gd->ram_top o gd->env_has_init, etc. según el valor que me interese.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Este es el comentario de @ssbssa a mi pregunta (gracias @ssbssa). Le pedí que pusiera su respuesta pero no lo hace. así que agrego la respuesta yo mismo.
Puede definir una macro como macro define gd ((gd_t *)$r0) y luego puede usar p /x gd->reloc_off o p /x gd->flags . Por supuesto, puede poner este comando de definición de macro en el archivo de comandos e iniciar gdb como este arm-none-eabi-gdb u-boot -x gdb_command .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda