You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(gdb) file ./nome_do_programa # carrega um programa
(gdb) set disassembly-flavor intel # configura o disassembly para o tipo intel (tem AT&T e Intel, prefiro intel)
(gdb) layout regs # modifica layout de interface de debug para apresentar registradores
(gdb) layout next # vai para o próximo esquema de layouts
(gdb) set args 123123 # adiciona argumentos de inicialização, equivalente a './program 123123'
(gdb) run # inicia execução
(gdb) quit # sai da sessão de debug
Breakpoints
(gdb) b main # adiciona um breakpoint na função main
(gdb) b *0xffffabc # adiciona um breakpoint na endereço 0xffffabc
Print
(gdb) x/x $rax# print de conteudo hexa no registrados rax
(gdb) x/s $rax# print de conteudo string no registrador rax
(gdb) x/x $rbp-0x10 # print de conteudo hexa no registrador rbp-0x10
(gdb) x/s $rbp-0x10 # print de conteudo string no registrador rbp-0x10
(gdb) x/x 0xffffabc # print de conteudo hexa no endereço 0xffffabc
(gdb) x/10x 0xffffabc # print de 10 bytes de conteudo hexa iniciando do endereço 0xffffabc
Manipulação de registradores
(gdb) set$rax=0x41414141 # adiciona o conteudo "AAAA" no registrador rax
(gdb) set*((int*)($ebp-0x1C)) = 0 # adiciona no registrador ebp-0x1c, como sendo inteiro de 32bits, o valor 0
(gdb) p buf@1 = "A"# adiciona o texto "A" no inicio do buffer
Navegação
(gdb) ni # significa next instruction,
(gdb) si # significa step-into