gpt4 book ai didi

c++ - 使用 lldb 调试时,较高的行号未解析为断点

转载 作者:行者123 更新时间:2023-11-30 03:38:52 25 4
gpt4 key购买 nike

我正在尝试在计算 Brainfsck 中的 Mandelbrot 集的 MIPS32r6 程序中设置断点。程序本身是用 C++ 编写的,用 Clang 编译的,我正在用 LLDB 调试。

我遇到的问题是,在 LLDB 中,我可以设置某些断点,主要是在较低的行号上,没有问题。但是,在 Main.cpp 中的第 70 行之后,断点出现为“未解决”(即使执行断点列表 显示它们具有完全合理的地址)。也就是说,我尝试在第 70 行之后设置的所有断点都未解决,而第 70 行之前的所有合理断点都毫无问题地解决了。 p>

我已经放置了一份我链接在这里的二进制文件:http://filebin.ca/2tJzo2LLBJWO/MipsTest.bin

Main.cpp 的拷贝在这里:https://paste.ee/p/WYs8Y

我正在使用以下选项进行构建:

clang -mcompact-branches=always -fasynchronous-unwind-tables -funwind-tables -fexceptions -fcxx-exceptions -mips32r6 -O0 -g -glldb ...

lld --discard-none -znorelro --eh-frame-hdr ...

此时,我不确定是什么导致了这个问题。

最佳答案

我会尝试在 lldb 中执行 target modules dump line-table Main.cpp 以查看 lldb 认为行表是什么样的。然后查看二进制文件的 DWARF 行表,其中包含类似 readelf --debug-dump=decodedline MipsTest.bin 的内容(我认为这是正确的 - 我正在查看网络上的 readelf 主页)。

关于c++ - 使用 lldb 调试时,较高的行号未解析为断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39220804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com