64ビットLinuxのyasmでアセンブルされたasmコードのデバッガを探して、使用するために助けが必要です。 gdbデバッガは、シンボルテーブルがロードされていないと不満を持ち続けます。 stackoverflowの誰かが-dstabsスイッチを使って組み立てを提案しましたが、それは私には違いがありません。どちらもdddに違いはありません。yasmで作成されたアセンブリコードのデバッグ
「シンボルテーブルがロードされていません」という問題を取り除く方法が見つかった場合、gdbはそれほど悪くないでしょう。私はまた、レジスタや他の宣言の内容を見ることができる必要があります。
yasm -f elf -m amd64 file.asm
を使用して自分のasmファイルをアセンブルし、ld file.o -o file
とリンクします。 -l
スイッチを使用してyasmを使用して.lstファイルを作成することは機能していないようです。
この問題に関して私が見つけたすべてのアドバイスは、gccをリンカーとして使用し、ldではなく関連させるようです。私はldにリンクする必要があります。
組み立て時に '-g'オプションを使ってみましたか? – Job
@ジョブ:ありがとう!私はそれが働いたと思う。私はgdbからいくつかの新しい情報を得ています。私のために働いたのはコマンド 'yasm -f elf -m amd64 -g stabs file.asm'です。 gdb_dbgfmtsのmanページは、stabsがUNIXオペレーティングシステムの適切なデバッグフォーマットであることを示唆していましたが、私はデバッグフォーマットを理解していません。より良い選択肢がありますか? – InvalidBrainException
私はドワーフを使用することをお勧めします、私の答えを参照してください。 – Job