私のアプリケーションをデバッグするために使用できるXcode 4のgdbで使用できるコマンドは何ですか?デバッグのスキルを向上させるために使用できるいくつかのgdbコマンドは何ですか?
(比較的ベテラン開発者が、私はこの質問で自分のスキルを拡大しているよ。)
私のアプリケーションをデバッグするために使用できるXcode 4のgdbで使用できるコマンドは何ですか?デバッグのスキルを向上させるために使用できるいくつかのgdbコマンドは何ですか?
(比較的ベテラン開発者が、私はこの質問で自分のスキルを拡大しているよ。)
あなたはここhttp://darkdust.net/files/GDB%20Cheat%20Sheet.pdfから開始することができ、非常に便利です来ます。言及する価値
ポイント
GDBで何らかのスクリプトを書くことができます。-x falgを使って を指しています。あなたのスクリプトはip経由でターゲットに接続したいとします(リモート
デバッグ)、あなたは毎回
を入力するそのip/keppを覚えたくありません。 > gscript のgdb -x gscriptアプリケーション
[OK]を、いくつかのニッチ詰め込む:GDB 7.1 Pythonスクリプトから始めても はそんなにより強力になりました
は "1234リモート192.168.XX.XXをターゲット" エコーサポートされています。 -
(gdb)start
(gdb)layout split // list the assembly and c
(gdb)ni // exec next instruction in assembly
(gdb)print $pc // prints the contents of register PC(use $)
あなたが行く
(gdb)start
(gdb)call factorial(5)
上のいくつかのユニットテストをやって試すことができます
は、あなたがメモリの破損をデバッグするときに、条件付きブレークポイントは非常に便利です
(gdb)start
(gdb)break <func>:<line>
(gdb)commands 1 // '1' is the break number
> silent
> printf "var1 = %d\t var2 =%d\n",var1,var2
> continue
> end
データブレークポイントを以下試すことができますが、アプリケーションのタイミング(reatime行動を)邪魔したくないと仮定したが、まだいくつかの変数の更新を表示します
(gdb)start
(gdb)watch var
(gdb)watch 0x80001212
デバッグスレッド
(gdb)info threads
(gdb)thread 2 // switch to thread '2'