8

まず、これはヒープ分析の方法に関する一般的な質問ではありません。以前のバージョンの Windows ではよく知っていることです。

しかし、私が疑問に思っているのは、64 ビット Windows 8 で WOW64 レイヤーを介して実行されている 32 ビット アプリケーションのヒープ分析を実行できた人がいるかどうかです。ここでは Windows 8 がキーワードになっています。

Windows 7 と Windows 用のデバッグ ツールを実行しています。単純に gflags を使用してユーザー スタックとヒープのタグ付けを適用し、x86 バージョンの WinDbg を使用してプロセスにアタッチし、32 ビット コンテキストのみを取得しました (通常はそうではありません)。 WOW64レイヤー自体に興味があります)。ヒープ情報は完全に表示されます。

Windows 8 で同じ手順を実行し、gflags を追加してプロセスを開始すると、起動後のメモリ使用量が 40 MB から 140 MB に増加し、gflags が開始されたことを示します。

ただし、WinDbg も umdh もヒープ情報を取得できません。x86 バージョンを使用する古い方法でも、ドキュメントに記載されている方法でも、WOW64 を介して実行する場合は、x64 バージョンを実行して .effmach を 32 ビット コンテキストに切り替えます。

さらに、Windows 用のデバッグ ツールの Windows 7 と Windows 8 の両方のバージョンを使用してこれを試したので、Windows 7 で良い結果が得られた同じツールが Windows 8 では同じように動作しません。

私の現在の推測では、Windows 8 がヒープを管理する方法の変更 (インターネットに関するいくつかの記事を見てきました) は、Windows 用のデバッグ ツールに完全に更新/反映されていない可能性があります。私は(私自身の使用シナリオはWOW64コンテキストで32ビットプロセスのみを含むため、確かなことはわかりません)意図したとおりに動作する間にWOW64レイヤーがない場合のアプリケーションのヒープ分析は機能すると思いますが、WOW64は現在ブロッカーですここ。

何か間違ったことをしていないか、または現在のツールに問題があるかどうかを知りたいと思っています。私は現在、メモリ分析を行うために VM で Windows 7 を実行するようにしています。

では、Windows 8 の WOW64 で win32 アプリケーションのヒープ分析を成功させた人はいますか?

4

1 に答える 1

1

EGGHUNTERツールを試しましたか? また、Intel Parallel Studio XE 2013 の試用版もあり、多数のツールを使用できます。IDE VS 2010 または 2012 に接続すると、アプリケーションをテスト実行できます。一般的な機能

インテル® Parallel Studio XE には次世代ソフトウェアが含まれています

開発ツール:  Intel® C、C++、および Fortran コンパイラ –</p>

業界をリードするコンパイラ  インテル® MKL およびインテル® IPP – パフォーマンス ライブラリ  インテル® スレッディング ビルディング ブロックおよびインテル® Cilk™ Plus – 並列プログラミング モデル  インテル® Advisor XE – スレッド化アシスタント  インテル® VTune™ Amplifier XE – パフォーマンスとスレッドプロファイラー  Intel® Inspector XE – メモリおよびスレッド チェッカー  静的分析 – 見つけるのが難しい欠陥を見つけます

私はそれがあなたを助けると思います.Thanks

于 2013-02-19T06:11:33.027 に答える