dbx コマンドによるデバッグ

ケース 1

ケース 1 では、rtc_patch_area を使用して、パッチ領域として機能する 1 つまたは複数のオブジェクトファイルを作成し、それらを a.out にリンクすることができます。

次のようなメッセージが表示されたら、以下の手順に従ってください。


実行時検査を有効にしています... dbx: warning: rtc: cannot find patch space within 8Mb (need 6490432 bytes for ./a.out)
dbx: patch area too far (8Mb limitation); Access checking disabled
         (See `help rtc8M', case 1)


rtc_patch_area -o patch.o -size 6490432 

-size フラグは任意指定です。デフォルト値は 8000000 です。

  1. エラーメッセージからのサイズ要求を満たしたら、次の手順に進みます。それ以外の場合は、手順 1 を繰り返して、さらに多くの .o ファイルを必要に応じて作成します。

  2. a.out を再リンクして、patch.o ファイルをリンク行に追加します。

  3. RTC を新しいバイナリで再試行します。

    それでも RTC が失敗する場合は、リンク行上の patch.o ファイルを再配置することができます。

代替手段として、a.out をより小さい a.out と共有ライブラリに分割する方法があります。