2 votes

Tracer le programme à l'aide de gdb

int main(int ac, char *av[])
{
  printf("%d");
  return 0;
}

Je sais que cela imprimera des déchets, mais comment tracer le programme en utilisant gdb pour vérifier la valeur des déchets ?

3voto

Basile Starynkevitch Points 67055

Vous pouvez placer un point d'arrêt sur printf et inspecter la pile à l'aide de $esp

gdb ne connaît pas les valeurs poubelles, mais printf dans votre cas, il s'agit de récupérer (à l'aide de va_args ) une valeur "non définie" (en fait "non initialisée", c'est-à-dire contenant des déchets antérieurs) de la pile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X