実行時リンカーとの間でプログラムインタフェースを使用するコード、すなわち dlopen()、dlclose()、およびそれらに関連する関数を呼び出すコードをデバッグするときは、dbx の全機能を利用できます。実行時リンカーは、プログラムの実行中に共有ライブラリをリンクしたり、そのリンクを解除したりします。dlopen() と dlclose() のサポートにより、動的にリンクされている共有ライブラリの関数もプログラムの起動時にリンクされたライブラリの関数と同様に、ステップ実行したり、ブレークポイントを設定したりできます。
例外が 3 つあります。
dlopen ( ) によって読み込まれるライブラリには、そのライブラリが dlopen ( ) によって読み込まれる前にブレークポイントを設定することはできません。
dlopen ( ) によって読み込まれたフィルタライブラリには、その中の最初の関数が呼び出されるまでブレークポイントを設定することはできません。
ライブラリが dlopen() によって読み込まれるとき、_init() という名前の初期化ルーチンが呼び出されます。このルーチンは、ライブラリ内のほかのルーチンを呼び出すことがあります。この初期化が終わるまで、dbx は読み込まれたライブラリにブレークポイントを置くことができません。dlopen() によって読み込まれたライブラリの _init()内で dbx を停止させることはできません。