マイプラットフォームをブレークポイントiは、デバッグオプションで、GCCドライバでアセンブリソースをコンパイルする場合Ubuntuのi686の(32ビット)GCCは、
ある:
gcc -nostartfiles -g -o toupper toupper.s
私は
012で最初instruccionにブレークポイントを生成$ emacs toupper.s-> M-x gdb -> M-x gdb-many-windows
Emacsエディタ上に集積gdbデバッガとTOUPPERの実行可能ファイルを開きます
(gdb) b _start
(gdb) run
コマンドを実行して起動すると、デバッガは_startラベルで正しく停止します。
私はldリンカとアセンブラやリンクなどと同じソースtoupper.sコンパイルする場合:今
as -g -o toupper.o toupper.s
ld -o toupper toupper.o
をデバッグするための手順は、gccの場合に一致しました。
$ emacs toupper.s -> M-x gdb -> M-x gdb-many-windows
(gdb) b _start -> mark with a red point the _start line
(gdb) run -> DONT HIT THE _start LINE ¿?
私は、シンバルテーブルが正しいことを知っています。ブレークポイントは正しいことを示していますが、実行はステップバイステップではありません。
私はgccの場合に表示・デ・詳細な手順を持っており、AS/LDケースは一致していないgccの場合にいくつかのデフォルトのオプションがあり¿のように/ LDの場合と再びそれを試みたが、結果は同じ
のですか?あなたはgcc -nostartfiles -g ...
でビルドする場合、事前
ブレークポイントでデバッガが停止しないという問題はありますか? –
そして、なぜ、-nostartfilesを使うのですか?どちらの方法でもコンパイルされます。 –