Assembly - не могу установить точку останова, используя lldb для собранных файлов в macOS - PullRequest
0 голосов
/ 18 декабря 2018

Я изучаю ассемблер на MacBook x86_64 с macOS 10.14.Версия nasm - 2.14, а версия lldb - 11.38.2.

Мой исходный код очень прост:

SECTION .data


EatMsg: db "Hello World", 0x0a
EatLen: equ $-EatMsg

SECTION .bss

SECTION .text

global _start

_start:
    nop
    mov rax,0x2000004
    mov rdi,1
    mov rsi,EatMsg
    mov rdx,EatLen
    syscall

    mov rax,0x2000001
    mov rdi,0
    syscall

Я собираю этот файл, используя

nasm -f macho64 -F dwarf helloworld.asm
ld -e _start -no_pie -o helloworld helloworld.o -lSystem

Но когда я использую lldb:

lldb helloworld
(lldb)b helloworld.asm:16

Там написано:

Breakpoint 1: no locations (pending).
WARNING:  Unable to resolve breakpoint to any actual locations.

Я видел Невозможно установить точки останова lldb и Возможно ли отладить сборку x64 в Mac OS? , и я попробовал теответы (например, -g), но безрезультатно.

...