我目前使用的是M1 MacBook Air。我想在本地计算机上调试C代码,但要使用x86_64汇编语法和寄存器。
我试着安装gdb
,但是在我的机器上安装很复杂。我也试过UTM emulation
,qemu
,他们返回error
一些与gdb或调试本身相关的非特权操作。
我知道有在线免费的解决方案(https://www.onlinegdb.com/).但是在本地机器上做这件事是令人满意的.经过几天的阅读文档和修补,我发现一个可接受的解决方案使用lldb
.此外,onlinegdb是Linux,而不是macOS.只有GAS,而不是其他汇编器,如NASM.
下面是解决方案。
1条答案
按热度按时间bbmckpt71#
创建文件。
将其编译为二进制(-arch x86_64)。参见(How can I create a x86_64 assembly file from C source code in apple silicon?)。
[可选一次性设置]:使用此命令查看具有intel语法的调试程序集代码。(https://stackoverflow.com/a/21502943/14668175)
使用lldb调试. lldb命令(https://lldb.llvm.org/use/map.html)。
一切就绪。