我正在尝试学习汇编,我在Mac OS X(Snow Leopard)上使用Nasm v2.10.07。 我可以编译,但我需要读取Debug文件,即.o文件。 这就是我编译的内容:
global _main
section.data
M db 5,4,3,2,1
dim equ $-M
section.text
_main:
mov edi, M
mov eax, 0
mov ebx, 1
int 80h
这是我编译的方式:
nasm -f elf -g -F stabs myfile.asm -o myfile.o
这就是结果:
ELF����������������������@�������4�����(�
�������������������������������������������������������������������–������������������������������������?��������������������������������0��M��������������������������������Ä��ê���������������"����������������2������������������*��� �����������P�����������������4��������������`��T����������������:��������������¿��������������������C��� �����������–��0���������������ø����∏����ª���ÕÄ�%define $�The Netwide Assembler 0.98.40 (Apple Computer, Inc. build 11)���.text�.comment�.shstrtab�.symtab�.strtab�.rel.text�.stab�.stabstr�.rel.stab��%d����������������������������Òˇ�������������Òˇ������������������������������������������������������Òˇ�������������,�������������myfile.asm�section.data�M�dim�section.text�_main��%define $_%1 ������%define������������d�����������D����������D���������D��
�������D� ��������D�
�����%define $_%�myfile.asm��%de����� �����,�����8�����D�����P�����
那么,如果没有那些奇怪的符号,我应该怎样做以正确的方式阅读调试?
答案 0 :(得分:1)
要显示.stabs
部分的内容,请使用objdump -g myfile.o
或objdump -G myfile.o
要从调试部分获取包含行号的完整源代码,请使用objdump -S -l myfile.o