2011-10-10 19 views
12

Estoy intentando calcular el mecanismo de ajuste y comprobación del valor canario.Pasando a la siguiente "instrucción" usando gdb

 
#include 
int main(void) 
{ 
     return printf("Hi!\n"); 
} 

Al desmontar la principal, consigo

 
(gdb) disas main 
0x080483f4 : lea 0x4(%esp),%ecx 
0x080483f8 : and $0xfffffff0,%esp 
0x080483fb : pushl -0x4(%ecx) 
0x080483fe : push %ebp 
0x080483ff : mov %esp,%ebp 
0x08048401 : push %ecx 
0x08048402 : sub $0x14,%esp 
0x08048405 : mov %gs:0x14,%eax 
0x0804840b : mov %eax,-0x8(%ebp) 
0x0804840e : xor %eax,%eax 
0x08048410 : movl $0x8048500,(%esp) 
0x08048417 : call 0x8048320 
0x0804841c : mov -0x8(%ebp),%edx 
0x0804841f : xor %gs:0x14,%edx 
0x08048426 : je  0x804842d 
0x08048428 : call 0x8048330 
0x0804842d : add $0x14,%esp 
0x08048430 : pop %ecx 
0x08048431 : pop %ebp 
0x08048432 : lea -0x4(%ecx),%esp 
0x08048435 : ret 

puse un punto de interrupción en 0x0804840e usando

 
b *0x0804840e 

Después de que el flujo del programa se detiene en este punto de interrupción Me gustaría gdb para ir a la siguiente instrucción en lugar de la siguiente línea de c código. No creo poder usar next para esto. Entonces, ¿qué otra opción tengo aparte de establecer un punto de interrupción en cada instrucción?

+0

BGF tiene bastante buena help' help' en línea le conseguirá una lista de temas, entre los que se está ejecutando; 'help running' enumera" stepi - Instrucción del paso uno exactamente ", y' help stepi' da una descripción más detallada. – Cascabel

Respuesta

Cuestiones relacionadas