0

シナリオは非常に単純です。

dotMemory プロファイラーを使用した後、ネイティブとして識別された Windows ストア アプリでメモリ リークが発生しました。このツールはマネージ メモリの分析に限定されているため、DebugDiag を使用してメモリ ダンプ分析を実行し、さらに調査を行いました。これにより、さらに一歩進んで、増加するメモリが mscoreei によって使用されるヒープにコミットされていることがわかりました (誰かがこの dll に関する追加情報を持っていますか?単純な Google 検索ではあまり返されません)。

DebugDiag には、メモリ リーク分析ウィッチと呼ばれる優れた機能もあり、実行中のプロセスに LeakTrack.dll を挿入してメモリ割り当てに関する情報を収集します。これにより、マネージ コードのどの部分がネイティブ リーク リソースを使用しているかを特定できる可能性があります。ただし、これを Windows ストア アプリで使用しようとすると、エラーが発生します。

"プロセス中のリークを監視できませんでした .... 全員が ...\LeakTrack.dll の読み取りおよび実行権限を持っていることを確認してください".

そのファイルへのアクセス許可を変更して、全員がフル アクセスできるようにしましたが、それでも同じエラーが発生します。

私の質問は次のとおりです。

Windows ストア アプリで LeakTrack を使用するにはどうすればよいですか?

Windows ストア アプリでネイティブ メモリ リークを実行するための最良/代替アプローチは何ですか?

4

1 に答える 1

2

現在ログオンしているユーザー (実際には彼が属していたグループ) に「プログラムのデバッグ」権限を与えることで、これを解決しました。

これを行う方法については、次のとおりです。

ローカル グループ ポリシーにアクセスするには:

  1. [スタート] メニューから、[コントロール パネル] を選択します。
  2. コントロール パネルで、[管理ツール] をダブルクリックします。
  3. [管理ツール] ウィンドウで、[ローカル セキュリティ ポリシー] をダブルクリックします。
  4. [ローカル セキュリティ設定] ウィンドウで、[ローカル ポリシー] フォルダーを展開します。
  5. [ユーザー権利の割り当て] をクリックします。
  6. [ポリシー] 列で、[プログラムのデバッグ] をダブルクリックして、[ローカル セキュリティ ポリシーの設定] ダイアログ ボックスで現在のローカル グループ ポリシーの割り当てを表示します。
  7. 新しいユーザーを追加するには、[ユーザーまたはグループの追加] ボタンをクリックします。
于 2014-08-12T21:22:51.250 に答える