2016-05-16 5 views
0

私は数日間、デバッグせずに1つのプログラムを完成した経験があり、私がした質問の1つでは、VS Studio doのように行ごとにデバッグすることができるデバッグツールを使用するよう提案しました。 私はCLIを使用することに慣れています。 (VirtualBox上でUbuntuを使用しています)、デバッグツールを使用してアプローチするステップを私に提供する人を探しています。 私はNASMとGccツールを使用します。私はそれらを以下のように使います。ASMでデバッグするには? (Ubuntu)

gdb search 

このlinkを参照してください。

nasm -f elf search.asm (this makes search.o) 
gcc -o search search.o asm_io.o (I use the external file to use some functions) 
./search  
+1

GDBでasmをデバッグするのに便利なコマンドについては、[x86タグwiki](http://stackoverflow.com/tags/x86/info)に小さなセクションがあります。あなたが他の言語のためにgdbを使っていないのであれば、一般的にgdbを学ぶ必要があります。私は、デバッガがasmにとって不可欠であるというアドバイスに絶対に同意します。関数を呼び出すだけでもレジスタに影響を及ぼすため、デバッグの 'printf'呼び出しを高水準言語のように散らすことはできません(新しいバグを導入するのは簡単ですが、リーフのためだけに機能するように最適化されている関数もありますfunctions ...) –

+0

'gcc'コマンドは32bitシステムでのみ動作します。 64ビットシステムでは、 'nasm -felf'によって作成された32ビットオブジェクトをリンクするには' gcc -m32'が必要です。 NASMでのビルドに関する情報は、[この記事(http://stackoverflow.com/questions/36861903/assembling-32-bit-binaries-on-a-64-bit-system-gnu-toolchain/36901649#36901649)を参照してください。 gcc。 –

+0

チュートリアルがどこにあるのか聞いているような音がします –

答えて

1

GDBはここに解決策になりそうです。

+0

これはリンクだけの答えです。詳しく教えてください。 –

+0

私は正確な制限や要件が表示されないので、より正確な答えを詳述するにはgdbのドキュメントを含めると思います。だから、私は彼にどこから始めるのかを考えたかったのです。そして、au fur et measure、彼の前進、SOはいつもここにあり、私はもっと精緻化します。 – Vtik

関連する問題