Employé russe a donné la bonne solution, mais pour ceux qui veulent le voir utilisé dans un exemple, voir ci-dessous. Si vous n'êtes pas sûr de vouloir valider l'extension .gdbinit dans votre répertoire personnel, vous pouvez également l'installer dans le répertoire dans lequel vous exécutez le programme.
$ gcc -g atof_ex4.2.c
$ gdb ./a.out
(gdb) b 30
Breakpoint 1 at 0x1907: file atof_ex4.2.c, line 30.
(gdb) h user-defined
List of commands:
disp_vars -- User-defined
(gdb) disp_vars #this will enable the user defined canned sequence (but I haven't done run yet! So I'll this actually doesn't work yet.)
No symbol "i" in current context.
(gdb) r
Starting program: a.out
Breakpoint 1, atof (s=0xbffff028 "123.45e-6") at atof_ex4.2.c:30
30 if(s[i] != '\0')
(gdb) s # No disp_vars output yet because I have to do it AFTER 'run' command
32 if(s[i] == 'e' || s[i] == 'E')
(gdb) disp_vars # Now it will work ;)
(gdb) s
35 sign = (s[i] == '-') ? -1 : 1;
5: s[i] = 45 '-'
4: exp = 14
3: val = 123.45
2: sign = 1
1: i = 7
Bien sûr « r » est pour la course, « s » est pour l'étape, « b » est pour la pause, etc. J'ai aussi ignoré certaines sorties. Notez que j'ai dû entrer à nouveau la commande 'disp_vars' après 'run'. Merci Employé Russe.
C'est un titre très utile que vous avez ici. –
C'est une bonne question mais avec un mauvais titre ... – Johan
Édité le titre – ChrisW