EN JA
textdump
() ()
 
機能によって、カーネルデバッグ情報の捕獲は、カーネルメモリダンプと minidump で通常使用される、機械で読み込み可能であるというよりむしろ人間に読み込み可能な形式でディスクに格納できます。この表現は、完全なカーネル状態を獲得できないという点において、より完全でないものの、よりコンパクトで、移植性があり、伝統的なダンプより持続性のある形式でデバッグ情報を提供できます。スクリプトの作成と出力捕獲のような、他の機能とを結合することによって、完全に自動化された方法で詳細なバグ情報を得ることができます。データは、通常のメモリダンプとして同じスタイルのダンプパーティションに格納され、ブート時に存在するなら、によって自動的に抽出されます。ファイルは、形式で格納され、1 つ以上のテキストファイルから成り、それぞれデバッグ出力の特定のタイプで格納されます。次の部分が、存在しています: 捕獲 (capture) 機能が使用されたなら、出力を捕獲します。 sysctl をクリアすることによって、無効にされます。がカーネルにコンパイルされているなら、カーネル設定。 sysctl をクリアすることによって、無効にされます。捕獲機能が使用されたなら、最近のコンソール出力を含む、カーネルメッセージバッファ。 sysctl をクリアすることによって、無効にされます。ダンプが発生する前にカーネルがパニックしたなら、カーネルパニック文字列。 sysctl をクリアすることによって、無効にされます。カーネルバージョン文字列。 sysctl をクリアすることによって、無効にされます。カーネル textdumps は、を使用して抽出されます。機能は、とを使用してカーネルデバッガの一部として有効にされます。デフォルトで、パニックまたはダンプの明白な要求によって生成されたカーネルダンプは、正常なメモリダンプとなります。しかしながら、のコマンドを使用するか、またはを使用して sysctl を 1 に設定することによって、次のダンプが textdump となるように要求することが可能です。また、コマンド実行することによって、直接の textdump をトリガ (trigger) することができます。コマンドラインで、コマンドとは、textdump の保留中 (pending) のフラグを、設定し、問い合わせ、およびクリアするために使用されます。通常のカーネルダンプと同様に、ダンプパーティションは、を使用して自動的または手動で設定されなければなりません。追加のカーネルは、次の通りです: textdumps をダンプ行うデフォルト方法に設定します。これは、する必要がないか、またはコマンドを使用することを意味します。 textdump 機能自体をデバッグするために有用な他の診断と同様にそれが出力している各ファイルに関して textdump 機能をより冗長にします。次の例では、スクリプトは、カーネルデバッガがパニックになり、出力捕獲を有効にして、デバッグ情報のいくつかの役に立つ断片をダンプするとき、実行し、次に、リブートのあとに続いていてカーネルダンプを強制的に書き込むためにパニックを呼び出します。 script kdb.enter.panic=textdump set; capture on; show allpcpu; bt;
ps; alltrace; show alllocks; call doadump; reset 次の例では、カーネルデバッガに立ち会い (witness) 違反の結果として入るとき、スクリプトが実行され、ユーザのためにロック関連の情報を印刷します: script kdb.enter.witness=show locks また、これらのスクリプトは、ユーティリティを使用して設定されます。機能は、ではじめて登場しました。機能は、によって作成されました。
March 3, 2015