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 :
codice:
(gdb) bt 
#0  output () at prova.s:23
(gdb) bt full 
#0  output () at prova.s:23
No locals.
(gdb)
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!
Per completezza sposto anche il programma in assembly che ho usato per fare le prove :
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
Io analizzo lo stack dentro la chiamata di funzione prima della chiamata alla system call ...