共有ライブラリをデバッグするには、使用する必要があります
set breakpoint pending
-- 保留中のブレークポイントに関するデバッガーの動作を設定します。
共有ライブラリ内にブレークポイントを設定することは非常に一般的です。共有ライブラリは、プログラムの実行時に明示的にロードおよびアンロードでき、場合によっては繰り返し実行できます。この使用例をサポートするために、共有ライブラリがロードまたはアンロードされるたびに、gdb はブレークポイントの場所を更新します。通常、デバッグ セッションの開始時、ライブラリがロードされていないとき、およびライブラリのシンボルが使用できないときに、共有ライブラリにブレークポイントを設定します。ブレークポイントを設定しようとすると、gdb はいわゆるペンディング ブレークポイント (アドレスがまだ解決されていないブレークポイント) を設定するかどうかを尋ねます。
gdb には、「break」コマンドがブレークポイント アドレス指定をアドレスに解決できない場合に何が起こるかを制御するための追加コマンドがいくつか用意されています。
set breakpoint pending auto
これがデフォルトの動作です。gdb がブレークポイントの場所を見つけられない場合、保留中のブレークポイントを作成する必要があるかどうかを問い合わせます。
set breakpoint pending on
これは、ブレークポイントの場所が認識されない場合、保留中のブレークポイントが自動的に作成されることを示します。
set breakpoint pending off
これは、保留中のブレークポイントが作成されないことを示します。認識されないブレークポイントの場所があると、エラーが発生します。この設定は、以前に作成された保留中のブレークポイントには影響しません。
show breakpoint pending
保留中のブレークポイントを作成するための現在の動作設定を表示します。
あなたの質問に来ます。つまり、行をスキップする
jump +1
コードがその共有ライブラリ行 (skip_me()) の前に達したときに使用します。
参考文献
http://wiki.documentfoundation.org/Development/How_to_debug
gdb: --command フラグを使用して将来の共有ライブラリにブレークポイントを設定する方法
http://bhushanverma.blogspot.in/2009/08/how-to-debug-shared-library-using-gdb.html
http://www.toptip.ca/2010/06/gdb-skip-instructions-or-lines-while.html
gdb を使用して行をスキップできますか?