gdbとEmacsを使ってアセンブリプログラムをデバッグしようとしています。私の問題は、ステップバイステップでデバッグしようとすると、現在実行中の行にポインタ矢印が表示されないということです。Emacs gdb - アセンブリをデバッグするときに矢印を表示
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
と私はこれらの行でコンパイルしています:私は、デバッグしようとしているコードがある
nasm -f elf -g -F stabs eatsyscall.asm -l eatsyscall.lst
ld -melf_i386 -o eatsyscall eatsyscall.o
私はEmacsで見ると、そのです。このスクリーンショットでは、私は現在ブレークポイントの後の行を実行していて、その行へのポインタは表示されません。それは可能ですか?
すなわち代わりSTABのDWARFでデバッグ情報を生成するNASMを説得しようと、私は正確に同じ問題を抱えています。私はEmacs 24を使用し、最新の安定したNASMバージョンを持っています。私はその矢を見ることができません... 私は '-g'と同じ方法でコンパイルしましたが、何もしませんでした。 – caisah