BrainfsckでMandelbrot Setを計算するMIPS32r6プログラムでブレークポイントを設定しようとしています。プログラム自体はC++で書かれており、Clangでコンパイルされており、LLDBでデバッグしています。lldbを使用してデバッグすると、より高い行番号がブレークポイントとして解決されない
私が抱えている問題は、LLDBの場合、主に低い行番号で、何の問題もなく特定のブレークポイントを設定できることです。しかし、Main.cppのLine#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 ...
この時点で、この問題を引き起こしている可能性があるかどうかはわかりません。
'ターゲットモジュールダンプ行テーブルMain.cpp'は有効に見え、248行目( 'main'の唯一の関数の最終行です)に進みます。 'readelf'で示されているように、また有効です。また、248行目に行きます。 – ameisen