Sto provando a eseguire il debug di un programma di assemblaggio utilizzando gdb ed Emacs. Il mio problema è che, quando provo a eseguire il debug passo dopo passo, non mostra una freccia del puntatore sulla linea di esecuzione corrente. Il codice che sto cercando di eseguire il debug è:Emacs gdb - freccia del display durante il debug del gruppo
SECTION .data ; Section containing initialised data
EatMsg: db "Eat at Joe's!",10
EatLen: equ $-EatMsg
SECTION .bss ; Section containing uninitialized data
SECTION .text ; Section containing code
global _start ; Linker needs this to find the entry point!
_start:
nop ; This no-op keeps gdb happy...
mov eax,4 ; Specify sys_write call
mov ebx,1 ; Specify File Descriptor 1: Standard Output
mov ecx,EatMsg ; Pass offset of the message
mov edx,EatLen ; Pass the length of the message
int 80H ; Make kernel call
MOV eax,1 ; Code for Exit Syscall
mov ebx,0 ; Return a code of zero
int 80H ; Make kernel call
e sto compilazione con queste righe:
nasm -f elf -g -F stabs eatsyscall.asm -l eatsyscall.lst
ld -melf_i386 -o eatsyscall eatsyscall.o
Quello che vedo in Emacs è che. In questo screenshot eseguo attualmente la linea dopo il breakpoint e non viene visualizzato alcun puntatore a tale linea. È possibile averne uno?
ho lo stesso identico problema. Uso Emacs 24 e ho l'ultima versione NASM stabile. Non riesco a vedere quella freccia ... Ho anche compilato nello stesso modo in cui hai usato '-g', ma niente. – caisah