Ciao a tutti qualcuno, mi sa dire come posso analizzare lo stack con gdb???
Leggendo il manuale ho trovato che per fare questo devo usare il comando bt, ma l'unico risultato che ottengo è il seguente :
Io voglio vedere che elementi ci sono nella pila, so che posso farlo anche usando l'indirizzo di esp pero visto che c'è un istruzzione apposta preferisco imparare questa, pero non capisco dove sbaglio!codice:(gdb) bt #0 output () at prova.s:23 (gdb) bt full #0 output () at prova.s:23 No locals. (gdb)
Per completezza sposto anche il programma in assembly che ho usato per fare le prove :
Io analizzo lo stack dentro la chiamata di funzione prima della chiamata alla system call ...codice:.section .data app: .byte 1 .section .text output : #metto in output il contenuto di eax push %eax push %ebx push %ecx push %edx movb %al, app movl $4, %eax movl $1, %ebx movl $app, %ecx movl $1, %edx int $0x80 pop %edx pop %ecx pop %ebx pop %eax ret .global _start _start: xor %eax, %eax mov $1, %ebx mov $2, %ecx mov $3, %edx movb $'A', %al call output movb $'\n', %al call output movl $1, %eax movl $0, %ebx int $0x80

Rispondi quotando