Mac OS X上的Nasm - 如何编译和读取调试

时间:2013-07-02 07:27:32

标签: macos debugging assembly x86 nasm

我正在尝试学习汇编,我在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�����

那么,如果没有那些奇怪的符号,我应该怎样做以正确的方式阅读调试?

1 个答案:

答案 0 :(得分:1)

要显示.stabs部分的内容,请使用objdump -g myfile.oobjdump -G myfile.o

要从调试部分获取包含行号的完整源代码,请使用objdump -S -l myfile.o