No puedo hacer que LLDB ejecute mi ejecutable correctamente
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.
Puedes lanzar lldb
con
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 -lm
dos 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 -g
y debería funcionar.