Ruso empleado dio la solución correcta, pero para aquellos que quieran verla en un ejemplo, ver a continuación. Si no está seguro de si desea comprometerse a colocar .gdbinit en su directorio de inicio, también puede ponerlo en el directorio donde está ejecutando el programa para experimentar.
$ 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
Por supuesto 'r' es para la corrida, 's' es de paso, 'b' es para las vacaciones, etc. También he omitido algunas salida. Tenga en cuenta que tuve que ingresar el comando 'disp_vars' nuevamente después de 'ejecutar'. Gracias empleado ruso
Ese es un título muy útil que tienes allí. –
Es una buena pregunta pero con un título malo ... – Johan
Editado el título – ChrisW