No puedo hacer que LLDB ejecute mi ejecutable correctamente

Resuelto octopus asked hace 10 meses • 1 respuestas

Recientemente decidí experimentar con clang y funciona. (Ese no es el problema)
PERO obtuve un punto flotante cuando intenté ejecutarlo. Busqué en el depurador clang
y obtuve LLDB, fui a instalarlo (lldb-14-dev y liblldb-dev vía synaptic)
tal vez me falta algo. probablemente cuando intento ejecutarlo (lldb ./out/roguelike launch) esto es lo que obtengo:

clang -Wall -Werror -lm *.c -o out/roguelike `sdl2-config --cflags --libs` -lm
lldb .out/roguelike launch
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'lldb.embedded_interpreter'
(lldb) target create ".out/roguelike"
error: unable to find executable for '.out/roguelike'

Es probable que esto se deba a que me perdí algo de lldb o olvidé algún argumento (desafortunado),
pero no lo sé con certeza. Aunque si importa (no es probable), aquí está mi archivo MAKE:

CC = clang

lazy_compile:
    $(CC) -Wall -Werror -lm *.c -o out/roguelike `sdl2-config --cflags --libs` -lm

lazy_test: lazy_compile
    ./out/roguelike

compile:
    $(CC) -O3 -Os -static *.c -o out/roguelike `sdl2-config --cflags --libs` -lm

debug: lazy_compile
    lldb .out/roguelike launch

run: compile
    ./out/roguelike

Intenté trastear con algunos paquetes pero no funcionó
y no puedo entender la mayoría de los tutoriales sobre cómo usar lldb,
así que no sé realmente qué es, especialmente la última línea.

octopus avatar Feb 16 '24 11:02 octopus
Aceptado

Puedes lanzar lldbcon

lldb out/roguelike launch

o

lldb ./out/roguelike launch

pero no con

lldb .out/roguelike launch

Además, no es un error, pero lo incluyes -lmdos veces.

Y sí, lo que HolyBlackCat dice en los comentarios: proporcione información de depuración, simplemente reemplace la primera -lm(las banderas de enlace deben colocarse al final de la cadena de herramientas) con -gy debería funcionar.

David Ranieri avatar Feb 16 '2024 07:02 David Ranieri