問題タブ [fault-tolerant-heap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows-7 - Windows 7 のフォールト トレラント ヒープとは何ですか?
それがどのように機能するか、および頻繁にクラッシュするプロセスに関連付けられているフォールト トレラント ヒープ シムを無効化または列挙する方法に関する技術情報が必要です。Windows 7 が FTH shim をいつ適用するかを決定するために使用する何らかのヒューリスティックはありますか?
windows-7 - フォールト トレラント ヒープをオフにするにはどうすればよいですか?
最近、アプリケーションを起動すると、Visual Studio 2005 の出力ウィンドウに次の行が表示されるようになりました:
FTH: (7156): *** フォールト トレラント ヒープ シムが現在のプロセスに適用されました。これは通常、以前のクラッシュが原因です。***
ここの手順を使用して、フォールト トレラント ヒープをオフにしようとしました:
http://msdn.microsoft.com/en-us/library/dd744764(VS.85).aspx
Windows 7 64 ビット版を実行しているので、32 ビットと 64 ビットの両方のレジストリに変更を加え、32 ビットと 64 ビットの両方を使用して「Rundll32.exe fthsvc.dll,FthSysprepSpecialize」コマンドを実行しました。 Rundll32.exe の 64 ビット バージョン。
ただし、再起動後も、アプリケーションをデバッグしようとすると、フォールト トレラント ヒープが発生します。
これは、私が再現しようとしているバグを覆い隠し、パフォーマンスも低下させるため、実際の問題です。
フォールト トレラント ヒープを無効にする方法について他に提案がある人はいますか?
windows - 問題を引き起こす「フォールトトレラントヒープ」
Windows 7に「フォールトトレラントヒープ」が埋め込まれているため、プログラムのパフォーマンスが半分になることがあります。FTHについてはあまり情報がありませんが、これは私が確認できたものです。
FTHは通常、ヒープエラーが原因で追加されます。どのエラーが有効になっているのかを通知する方法が見つかりません。
FTHはファイル名でアプリケーションをブラックリストに登録するため、エラーを修正してもアプリケーションに埋め込まれ、最終的にはなくなる可能性があります(したがって、試行錯誤しても、どのエラーがアプリケーションの埋め込みを引き起こしているのかがわかりません。ランダムなフレアリング唯一の答えのようです)。これらの決定がどのように行われるかは不透明です。アプリの名前を変更するとFTHがなくなり、パフォーマンスが通常に戻ったため、何らかの方法でファイル名を追跡している必要があります。
FTHをオフにして、PCに埋め込まれないようにする方法はありますが、ユーザーのPCに埋め込まれないという保証はなく、パフォーマンスが半分になります。
この機能に関するドキュメントはほとんどありません。私が見つけることができる最高のものは、ここでそれについて議論しているエンジニアの1時間の長さのビデオです:http://channel9.msdn.com/shows/Going+Deep/Silviu-Calinoiu-Inside-Windows-7-Fault-Tolerant-Heap/
この機能の詳細と、アプリケーションから削除する方法を知っている人はいますか?
windows-8 - Windows 8 でフォールト トレラント ヒープをオフにするにはどうすればよいですか?
これはFTH をオフにするときと同じ質問ですが、Windows8 では別の答えがあるかもしれません。そこにあるすべての提案を試しましたが、それでも消えません。64 ビット Windows Pro 8 で 32 ビット プログラムをデバッグしようとしています。すべてのレジストリ エントリを設定 (および再起動) しようとしました。これらは通常 64 ビット部分にのみ存在しますが、32 ビット部分にも追加しました。acxtrnal.dll ファイルの名前を変更してみました (32 ビット バージョンと 64 ビット バージョンの両方)。与えられたrundll32の提案を実行してみました。これらのどれも、FTH の実行を停止せず、プログラムのパフォーマンスを破壊しませんでした。5 秒かかった操作が数分かかるようになりました。
それを回避するために私が見つけた唯一の方法は、ビジュアルスタジオとプログラム実行可能ファイルの両方の名前を変更することです.これは、次にクラッシュし始めたときにもう一度行う必要があります.
何か案は?