Win7: Fault Tolerant Heap

この機能はなんぞやと…。
なかなか、衝撃的な機能です。一言でまとめると

  • アプリケーションのヒープクラッシュを監視して、次回起動時にクラッシュを自動的に回避する

です。ちなみに、Windows 7 限定の機能です。
アプリケーションがヒープ関係の例外を発生した際に、OS 側で検知して、その部分を何とかして回避するように
メモリ配置を変えて、動かすという何とも言えない機能です。
そのため、初回起動時にアプリケーションがヒープクラッシュしても、二度目、三度目…に起動すると
何事も無かったかのように動いてしまいます。
ユーザー目線では、良い機能だと思いますが、開発者目線だと、悩ましいですね。

なお、FTH ですが、Microsoft Research も絡んでいるようですね。

FTH はイベントビューアで動作を確認することができます。

アプリケーションとサービス ログ
  Microsoft
    Windows
      Fault-Tolerant-Heap

ここにイベントが出力されます。
FTH は無効にすることもできますので、アプリケーション開発時には、バグチェックを行う都合上、
無効にしておいた方がよいでしょう。以下のレジストリエントリーで FTH を無効にすることができます。

HKLM\Software\Microsoft\FLH@Enabled = 0

次に FTH の餌食になってしまった場合のリセット方法です。
コマンドプロンプト(管理者権限で)を開き

Rundll32.exe fthsvc.dll,FthSysprepSpecialize

を実行します。ただし、このコマンドでは、すべてのアプリケーションをリセットしますので、
どうしても個別にリセットしたいのであればレジストリを開いて、各アプリ毎のエントリーを
削除するしか方法はありません。

FTH はセミナーの際、実際のデモで動作をお見せしたいと思います。
ぶっちゃけ、見た方が早いですね。。。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。