1

64ビットLinuxでyasmを使用してアセンブルされたasmコード用の優れたデバッガーを見つけて使用するためのサポートが必要です。gdbデバッガーは、シンボルテーブルがロードされていないと文句を言い続けます。stackoverflowの誰かが、-dstabsスイッチを使用してアセンブルすることを提案しましたが、それは私にとっては何の違いもありません。dddも違いはありません。

「シンボルテーブルがロードされていない」問題を取り除く方法を見つけることができれば、gdbはそれほど悪くはないでしょう。また、レジスターやその他の宣言の内容を表示できる必要があります。

を使用してasmファイルをアセンブルしyasm -f elf -m amd64 file.asm、とリンクしld file.o -o fileます。スイッチを使用してyasmで.lstファイルを作成する-lことも機能しないようです。

この問題に関して私が見つけたすべてのアドバイスは、ldではなくgccをリンカーとして使用することに関連しているようです。ldとリンクできる必要があります。

4

2 に答える 2

5

-gオプションを使用する必要がありますyasmdwarf2最近の標準のように見えるフォーマットを使用することをお勧めします。

yasm -f elf -m amd64 -g dwarf2 file.asm
于 2012-04-29T12:56:45.503 に答える
-1

私は現在システムプログラミングを行っており、フラグを使用してデバッグにdddを使用しています。-g dwarf2これまでのところうまく機能しています。

于 2015-11-02T22:59:01.540 に答える