我正在尝试在计算 Brainfsck 中的 Mandelbrot 集的 MIPS32r6 程序中设置断点。程序本身是用 C++ 编写的,用 Clang 编译,我正在用 LLDB 进行调试。
我遇到的问题是,在 LLDB 中,我可以设置某些断点,主要是在较低的行号上,没有问题。但是,在 Main.cpp 中的第 70 行之后,断点出现为“未解决”(即使执行断点列表显示它们具有完全合理的地址)。也就是说,我尝试在第 70 行之后设置的所有断点都将出现为未解决,并且在第 70 行之前所有合理的断点都可以毫无问题地解决。
我已经放置了我在这里链接的二进制文件的副本: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 ...
在这一点上,我不确定是什么导致了这个问题。