RTC は、統合的なデバッグ機能であり、コレクタによるパフォーマンスデータの収集時を除けば、実行時にあらゆるデバッグ機能を利用できます。
実行時検査では、次の機能が提供されます。
メモリーアクセスエラーを検出する
メモリーリークを検出する
メモリー使用に関するデータを収集する
すべての言語で動作する
マルチスレッドコードで動作する
再コンパイル、再リンク、またはメイクファイルの変更が不要である
–g フラグを指定してコンパイルすると、実行時検査エラーメッセージにソースの行番号の相互関係が表示されます。また、実行時検査では、–O の最適化フラグでコンパイルされたプログラムを検査することもできます。-g オプションでコンパイルされていないプログラムについては、特別な考慮事項がいくつかあります。
RTC を実行するには、check コマンドを使用します。
一度に多数のエラーが表示されないようにするには、プログラムを構成する個々のモジュールを開発している、開発サイクルの早い段階で実行時検査を使用します。 この各モジュールを実行する単位テストを作成し、RTC を各モジュールごとに 1 回ずつ使用して検査を行います。この方法により、一度に処理するエラーの数が減ります。すべてのモジュールを統合して完全なプログラムにした場合、新しいエラーはほとんど検出されません。エラー数をゼロにしたあとでモジュールに変更を加えた場合にのみ、RTC を再度実行してください。
RTC を使用するには、次の要件を満たす必要があります。
libc を動的にリンクしている。
標準の libc malloc、free、および realloc 関数、またはこれらの関数に基づいたアロケータの使用。RTC では、ほかのアロケータはアプリケーションプログラミングインタフェース (API) で操作します。実行時検査アプリケーションプログラミングインタフェースを参照してください。
完全にはストリップされていないプログラム。strip -x でストリップされたプログラムは受け入れ可能です。
実行時検査の制限については、実行時検査の制限を参照してください。