問題タブ [application-verifier]

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.

0 投票する
1 に答える
542 参照

windows - アプリケーションベリファイアのデバッグ拡張機能

VisualStudio2010でWindowsC++プログラムを作成していますが、ヒープが破損しています。Application Verifierの!heapおよび!avrfデバッガー拡張機能には、これを追跡するのに非常に役立つと思われるツールがいくつかありますが、ApplicationVerifierを効果的に使用する方法がわかりません。たとえば、ApplicationVerifierのドキュメントには次のように記載されています。

!avrf -hp -a Address指定したアドレスに影響を与えたすべてのヒープスペース操作を表示するために使用できます。

このコマンドを正確に入力する場所はどこですか?(はい、アドレスを実際のアドレスに置き換える必要があることはわかっています。)プレフィックスを付ける必要がありますか?

0 投票する
2 に答える
45965 参照

c++ - MicrosoftApplicationVerifierの使用方法

C ++を使用して、今日デモ中にヒープの破損に苦しんでいることを発見しました(ただし、重要な場合のみ!!)。SOに関するいくつかの投稿を見つけ、Application VerifierandDebuggingツールをダウンロードすることにしました。現在、VisualStudio2010を実行しています。

そのため、Windowsキットというフォルダーを取得するデバッグツールのインストールが残っています。このフォルダーには、WinDbgというアプリがあり、アプリを開いて実行しようとしました。正常に動作しましたが、ヒープの破損に関する情報を取得できませんでした。次に、検証ツールをインストールしましたが、ヘッダーファイルと.dllファイルしか残っていませんでしたが、どうしたらよいかわかりません。

それで、私がこれらのような恥ずかしい瞬間にもう苦しむ必要がないように、誰かがこのツールの使い方を教えてもらえますか?フォーラムで検索していて、ベリファイアを開く方法すらわからないので、使い方の説明を読んだときに本当に迷っています(2009年から)

0 投票する
2 に答える
2139 参照

clr - 管理対象アプリケーション用のMicrosoftApplicationVerifierに相当

管理対象アプリケーション用のMicrosoftApplicationVerifierに相当するものを知っていますか?

ありがとう!

0 投票する
1 に答える
1058 参照

c++ - std::stringデストラクタの奇妙なエラー

アプリケーションベリファイアでアプリケーションを実行したところ、アプリのシャットダウン時に次の問題が発生しました。

スタックトレース:

std::basic_stringのデストラクタで問題が発生したことに注意してください。これの原因は何でしょうか?

0 投票する
1 に答える
1622 参照

gdi+ - App Verifier Stop 0202:GdiPlusShutdown中にアクティブなクリティカルセクションを含むヒープブロックを解放します

Microsoft Application Verifierを実行すると0202、シャットダウン時にエラーが発生します。

の呼び出し中にエラーが発生しGdiplusShutdownます。

Application Verifierのドキュメントから:

アクティブなクリティカルセクションを含むヒープブロックを解放する

アプリケーションベリファイアブレークメッセージ

アクティブなクリティカルセクションを含むヒープブロックを解放します。サイズのメモリ位置にアクティブなロックが含まれています。

推定原因

このブレークは、ヒープ割り当てにクリティカルセクションが含まれ、割り当てが解放され、クリティカルセクションが削除されていない場合に生成されます。

ApplicationVerifierによって表示される情報

  • パラメータ1-クリティカルセクションアドレス
  • パラメータ2-クリティカルセクション初期化スタックトレース
  • パラメータ3-ヒープブロックアドレス
  • パラメータ4-ヒープブロックサイズ
  • 説明-アクティブなクリティカルセクションを含むヒープブロックを解放します

追加情報

ベリファイア停止コード0202。

現在のコールスタックの内容を確認してください。犯人は通常、現在のスタックトレースでHeapFreeまたはHeapDestroyの呼び出し元です。

このエラーの頻度は高いです。

この停止をデバッグするには、次のデバッガコマンドを使用します。

  • !cs –s parameter1-このクリティカルセクションに関する情報をダンプします。
  • ln parameter1–クリティカルセクションのアドレスの近くに記号を表示します。これは、リークされたクリティカルセクションを特定するのに役立ちます。
  • dds parameter2–このクリティカルセクションの初期化のスタックトレースをダンプします。

parameter3parameter4は、このヒープブロックがどこに割り当てられたかを理解するのに役立つ場合があります(割り当てのサイズはおそらく重要です)。

0 投票する
1 に答える
252 参照

windows - MS Application Verifier はスタックを膨張させますか?

Application Verifier の仕組みを知っている人はいますか?

私は現在、再帰を多用するツリー解析アプリケーションに取り組んでいます。プログラムは意図したとおりに動作しているようですが、いくつかの場所で「new」を使用しているため、Application Verifier でメモリ リークをチェックすることを考えました。AV はエラーを報告しませんが、アプリケーションのイメージは数分で約 1 GB に急速に拡大しますが、それがなければ約 60 MB しかありません。メモリリークを見つけることができないようで、再帰がどれだけ進行しているかを見ると、AV がテスト目的で余分な項目をスタックに配置しているのではないかと疑い始めています。そしてプログラムをクラッシュさせます。

誰かが問題について何か洞察を持っていますか?

0 投票する
2 に答える
453 参照

c++ - C++ヒープ状態の違い

C++で書かれた大きなプロジェクトがあります。一部のGUIアクション(ボタンクリック)では、2MBのメモリが割り当てられます。これはメモリリークではありません。もちろん、メモリは後で解放されます。ただし、メモリ割り当てサイズを減らすために、どのオブジェクトが割り当てられているかを調査する必要があります。

だから私はdebugcrtを使おうとしました

デバッグレポートには、400KBのみが割り当てられたと記載されています。ただし、2つのブレークポイント間のタスクマネージャーのプロセスメモリが2MB増加しました。

したがって、作成されたダンプは役に立ちません。残りのメモリ割り当てはどこにあるのか説明してもらえますか?

0 投票する
0 に答える
133 参照

c++ - AppVerifier の実行時に map/set イテレーターをインクリメントできない

アプリケーション検証ツールの下で、ネットワーク経由でクライアントを処理するアプリケーションを実行しようとしています。
アプリケーションは、クライアントを維持するためのマップと、マップをロックするための最大カウント 1 のセマフォを保持します。
ベリファイアがなくてもエラーなしで実行されますが、ベリファイアがアタッチされていると、次のランタイム エラーが発生します。

map/set イテレータはインクリメント不可

次のコードの場合:

考えられる原因について何か考えはありますか?

前もって感謝します。

0 投票する
1 に答える
5616 参照

visual-c++ - ASSERT(::IsWindow(m_hWnd)) が Afxwin2.inl で失敗する

プロジェクトで、CView の子クラスであるビューを作成しています。

oncreate 関数では、以下のように null かどうかをチェックしています。

ApplicationVerifier を使用してデバッグしているときに、afxwin2.inl の以下の行にデバッグ アサーションが表示されます。

また、 のメモリアドレスと同様m_hwndに表示されます。以下は、アプリケーション検証ツールからの出力です。unused 00x00170fd6

以下は、デバッグ ビルドのコール スタックです。長くなりました、すみません。

よろしくお願いいたします。ありがとう。

0 投票する
1 に答える
689 参照

dll - MFCWin32アプリケーション+アプリケーションベリファイア-仮想予約がリークされました

ApplicationVerifierを使用してWin32アプリケーションを分析しようとしています。基本の下のすべてのカテゴリをチェックしました。したがって、次のコードでは、

アプリケーションベリファイアが停止し、次のようにスローします。

仮想予約アドレスとは何ですか?関連するリンクが見つかりませんでした。また、なぜこれが発生するのですか?

編集:

上記の提案に従って実行したコマンドの出力は次のとおりです。

dps 00825FC4

du 07870FE0

lm