RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>RedHawk</strong> <strong>Linux</strong> User’s <strong>Guide</strong>カーネル・デバッガ 12kdb 12NMI 割 り 込 み12みkdb <strong>Linux</strong>カーネル・デバッガは、プレビルト<strong>RedHawk</strong> “debug” カーネルで 提 供 されます。kdbデバッガは、プログラムがカーネル・メモリを 対 話 的 に 調 査 、カーネル 機 能 の 逆 アセンブル、カーネル・コードにブレークポイントを 設 定 、レジスタの 内 容 を 表 示 および 修 正 することが 可 能です。kdbは<strong>RedHawk</strong>デバッグ・カーネルでデフォルトで 構 成 されます。もしPAUSEキーが 押 された、またはシリアル・コンソールで「CTRL-A」が 入 力 された 場 合 、kdbはシステム・パニックを 自 動的 に 発 動 します。kdbはUSBキーボードを 一 部邪 サポートしますが、これが 信 頼 性 がないと 検 出 されると<strong>RedHawk</strong>デバッグ・カーネルはサポートしません。USBキーボードのシステム 上 では、シリアル・コンソールを 設 定 しシリアル・ポートを 通 してkdbを 使 用 することを 推 奨 します。シリアル・コンソールの 設 定 については 付 録 Hの 解 説 を 参 照 して 下 さい。NMIボタンを 所 有 するシステム 上 では、デバッグ・カーネルはkdbへ 入 り 終 了 時 にクラッシュ・ダンプを 取 り 込 むためにNMIボタンの 押 下 を 許 可 する 構 成 にすることが 可 能 です( 後 述 の「NMIボタン」セクションを 参 照 して 下 さい)。kdbへのkdumpコマンドはkdumpクラッシュ・ダンプを 要 求 するために 使 用 することも 可 能 です。「kdb=off」ブート・コマンドはkdbへのエントリを 無 効 にします。「kdb= early」ブート・コマンドはカーネルがブート 処 理 の 早 い 段 階 でkdbへ 入 ります。kdbの 利 用 に 関 する 情 報 はこの 文 書 の 範 囲 を 超 えています。/kernel-source/Documentation/kdbの文 書 を 参 照 して 下 さい。<strong>Linux</strong>のNMIウォッチドッグ 機 能 は、「ウォッチドッグ」NMI 割 り 込 みを 生 成 します。NMI(Nonmaskable Interrupts)は、たとえシステムがロックされた 状 態 でも 実 行 します。 周 期 的 なNMI割 り 込 みの 実 行 により、CPUロックやデバッグ・メッセージ 出 力 が 発 生 したかどうかをカーネルは 監 視 することが 可 能 です。NMIウォッチドッグ・サポートを 有 効 とするには、「nmi_watchdog=N」ブート・コマンド・ライン・パラメータが 必 要 です。「N = 1」の 時 、 各 CPUは 自 身 のNMIタイミングで 実 行 ( 現 在 この設 定 は 機 能 せず2へ 変 更 されます)し、「N = 2」の 時 、 生 成 されたNMIはブロードキャストを 介 して 全 CPUへ 送 信 されます。カーネルにモード(1または2)を 遥 択 させる「nmi_watchdog=-1」はx86_64カーネル 上 で 使 用 することが 可 能 です。デフォルトで、nmi_watchdogは<strong>RedHawk</strong>デバッグ・カーネル(i386ではnmi_watchdog=2、x86_64ではnmi_watchdog=-1)ではオン、 他 の 全 ての<strong>RedHawk</strong>カーネルではオフとなっています。NMIウォッチドッグ 機 能 に 関 する 更 なる 情 報 は、/kernel-source/Documentation/nmi_watchdog.txtで 見 ることが 可 能 です。12-8