无法让 LLDB 正确运行我的可执行文件

问题描述 投票:0回答:1

最近我决定尝试 clang 并且它有效。 (这不是问题)
但是当我尝试运行它时,我得到了一个浮点。我搜索了 clang 调试器
并获得 LLDB,去安装它(lldb-14-dev 和 liblldb-dev 通过 synaptic)
也许我错过了一些。大概 当我尝试运行它时(lldb ./out/roguelike launch),这就是我得到的:

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'

这可能是因为我错过了一些 lldb 的事情或忘记了一些参数(不幸的)
但我不确定。不过,如果有关系(不太可能),这是我的 makefile:

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

我尝试摆弄一些软件包,但没有成功,
我无法理解大多数关于如何使用 lldb 的教程
所以我真的不知道它是什么,特别是最后一行

c clang lldb
1个回答
1
投票

您可以使用

 启动 
lldb

lldb out/roguelike launch

lldb ./out/roguelike launch

但不与

lldb .out/roguelike launch

另外,这不是错误,但您包含了

-lm
两次。

是的,HolyBlackCat 在评论中所说的:提供调试信息,只需将第一个

-lm
(链接标志应放置在工具链的末尾)替换为
-g
,它就应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.