調査を行いたいという場合があります。実行することが考え付くと思いますが、rcスクリプトが実行されるよりももっと前の段階から情報を採取したいようなときは、匿名トレースと呼ばれる方法を利用することが有効です。rcスクリプトが実行された後の調査でも利用できます。処理内容が書き込まれます。forceload文が書き込まれます。dtraceが実行されます。読み込まれるのは、OS起動時のかなりはやい段階ですので、OS起動時の多くの問題はこれで調査することが可能です。出力はメモリ上のバッファに蓄えられます。内容を確認する方法は二通りあります。オプションを付けて実行する方法です。-aは一度実行すると情報がバッファから消去されます。以下に一連の流れを含んだ実行例を示します。例では、コマンドの実行をトレースするスクリプトexec.dを使用しています。これで、OS起動中にどのようなコマンドが実行されているのかトレースできます。匿名トレースのための記述がされます。OS起動時の情報が採取できるようにモジュールを強制ロードする記述が追記されます。処理に応じた内容が記載されます。以下の例をご覧いただくとわかると思いますが、人間には理解できるようには書かれていません。mdbコマンドで出力結果を確認してみます。オプションを付けてカーネルデバッグモードで実行します。サブコマンドを実行します。余談ですが、dcmdsというサブコマンドで、どのようなサブコマンドがあるか確認できます。dtrace_stateサブコマンドで対象のアドレスを確認します。dtrace実行時と同じような出力結果が表示できます。アドレス::サブコマンドの形式で実行します(アドレス指定無しで実行できるサブコマンドもあります)。以下が実行例となります。initプロセスから実行されたコマンドがすべて採取されています。二度目の実行ではトレース情報が表示されません。オプションのみで実行します。追記された情報が削除されます。使用した応用例の紹介となりますが、何かの調査の際に役立てば幸いです。