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

Macos Mac OS X上的Nasm-如何编译和读取调试,macos,debugging,assembly,x86,nasm,Macos,Debugging,Assembly,X86,Nasm,我正在尝试学习汇编,并在MacOSX(SnowLeopard)上使用Nasm v2.10.07。 我可以编译,但是我需要读取调试文件,那是一个.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 myfil

我正在尝试学习汇编,并在MacOSX(SnowLeopard)上使用Nasm v2.10.07。 我可以编译,但是我需要读取调试文件,那是一个.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�����

那么,在没有这些奇怪符号的情况下,我应该如何以正确的方式读取调试?

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


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

编译的目的是什么?Mac OS X不使用
ELF
,因此查看此类文件的工具有限。应该是您所需要的。myfile.o:不是对象文件,这是来自
objdump
的备注还是错误消息?这些命令对我有用,但您的
objdump
版本可能无法识别ELF文件。