問題タブ [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.
c++ - Visual Studio 2013 で Microsoft Application Verifier を使用して/使用せずにデバッグを使用する方法
そのため、デバッグに役立つアプリケーション検証ツールをインストールしましたが、適切に使用する方法がわかりません。
まず、Visual Studio に永続的に接続されているようです。Visual Studio を使用してデバッグ モードでアプリケーションを実行するたびに、検証ツールが自動的に介入します。実行が大幅に遅くなるため、これは問題ですが、検証ツールなしでデバッガーを実行する方法はないようです。使用するたびに再インストールしてから、再度アンインストールするのは本当に嫌です。
第二に、リークなどを効率的に見つけているようですが、出力メッセージをどうするかわかりません:
リストされたコマンドはどこで実行できますか? 別のコンソールはなく、検証ツールを起動すると直接 GUI が起動しますが、コマンドを入力することもできません。
Visual Studio Ultimate 2013 で Windows 8.1 を使用しています。プロジェクトは C++ プロジェクトです。
// 編集:
最初の問題について: GUI のリストから実行可能ファイルを削除する必要がありましたが、プログラムが実行されていない場合に影響があるとは思いませんでした。
c++ - ヒープ割り当てごとにアプリ検証ツールによって収集されるスタック フレームの数を増やす
windbg コマンドを使用して、メモリ割り当てのスタック トレースを取得しようとしています。
スタック トレースは、アプリ検証ツールで実行するようにアプリケーションを構成することで収集されます。
スタック トレースを取得しましたが、短すぎます。
app verifier によって収集されるスタック フレームの数を増やす方法はありますか?
ありがとう。
c++ - Application Verifier でデバッグするとアプリケーションがハングする
C++ アプリケーションを Application Verifier に追加しました。exeを直接実行することで実行できます。しかし、VS 2013 または WinDbg から実行すると、CPU 使用率が 0 でハングします。
exe を直接実行しても、ある時点ですべてのメモリ (10GB) が使用され、コンピューターを再起動する必要があります。そのため、Application Verifier を使用してデバッグする方法がありません。
アプリケーションの起動時に作成される行ログは 1 つだけです。Application Verifier に他のログが表示されません。
私のケースの何が問題なのか誰か知っていますか?
c++ - Application Verifier はデフォルトでヒープ割り当てを制限しますか?
現在、64 ビット システム用の Application Verifier 6.3 で大きなファイルを開く必要があるアプリケーションをテストしています。私のアプリケーションは、以前はデバッグおよびリリース モードでうまく機能していた約 100 ~ 200 MB のメモリを割り当てることができる必要があります。
これは、メモリの割り当てに使用するコードです。
アプリケーションを Application Verifier に追加し、すべての基本テストを有効にしました。
奇妙なことに、97 MB のファイルに対してnew char[fileLength]
常に返されます。NULL
これは後で明らかにアクセス違反を引き起こしました。だから今は以前よりも多くの問題を抱えています...
Application Verifier はデフォルトでいくつかのヒープ割り当て制限を適用しますか? どうにかしてそれらを無効にすることはできますか?
windows - Application Verifier 自動プロセス ダンプ ファイル作成
AppVerif を手動で Windbg と共に使用してプロセスの問題をデバッグする方法は知っていますが、ユーザーの存在なしで一連のストレス テストを実行する自動システムをまとめています。
AppVerif が問題を検出するたびにプロセス ダンプを生成し、続行する方法が必要です (致命的ではないエラーであると仮定します)。
侵入するのではなく、プロセスのダンプを生成するように AppVerif を正しく構成する方法はありますか、それとも、windbg をアタッチして何らかの方法で自動化して、ブレークが発生したときにダンプを作成し、続行する必要がありますか。
c++ - WinDbg コマンドが VS イミディエイト ウィンドウで機能しない
AppVerifier をインストールし、出力デバッグ ウィンドウに拡張エラー レポートを表示しました。
しかし、提案された WinDbg コマンドを即時ウィンドウで使用しようとすると、エラーが発生します。
この機能を利用するには、AppVerifier をインストールするだけでなく、追加のインストール/構成を行う必要がありますか?
graphics - D3D11CreateDevice が読み取りアクセス違反を引き起こす
コードと質問
Microsoft の Application Verifier を試してみたところ、以下の単純なコードで読み取りアクセス違反が発生しました。これは私のせいですか?そうでない場合、誰に報告すればよいですか?
アプリケーション検証ツールの出力
WinDBG コールスタック
私のPCの情報
- Windows 8.1 Pro 64 ビット (6.3、ビルド 9600)
- AMD Radeon (TM) R9 200 シリーズ
- AMD Catalyst ドライバー (15.7.1) 最新 (最終チェック日 2015 年 10 月 15 日 10:16:39 PM)
direct3d - ID3DXConstantTable SetFloat/SetVector でのクラッシュ
Direct3d/C++ で開発されたレンダリング エンジンを備えたアプリケーションがあります。最近、ID3DXConstantTable SetFloat/SetVector に関連するクラッシュ (アクセス違反) に遭遇し、PDB を含むリリース バイナリにデバッガーをアタッチすると、D3dx9_42.dll 内に表示されます。使用される D3dPOOL Rendertarget テクスチャの数を減らすと、このクラッシュが消える方法の 1 つですが、3GB NVIDIA カードを使用しているため、GPU メモリ負荷を推定すると、使用可能な合計の半分にも近くなりません。
メモリの上書きによるヒープの破損が疑われるため、コード チェックを行った後、Application Verifier とデバッガーを使用して、実行の後の段階でクラッシュする可能性のあるメモリの上書きを根絶しました.いくつかの問題に遭遇しました.私たちが解決したもの。しかし、そのクラッシュは最初のフレーム レンダー ID3DXConstantTable SetFloat/SetVector に残っています。詳細 : これは、LARGEADDRESSAWARE フラグで実行される 32 ビット アプリケーションです。ポインタはありますか?
crash-dumps - フル ページ ヒープが有効な状態でアプリケーションがハングする
ダイアログを閉じているときにアプリケーションがクラッシュします。コードをデバッグしようとしましたが、そこから良い結論を出すことができませんでした。クラッシュ ダンプを取得し、Debug Diag ツールを使用して分析したところ、MSVBVM60.dll のヒープが破損している可能性があるというレポートが表示されました。次のステップとして、フル ページ ヒープを有効にしようとしましたが、アプリケーションが完全にハングします。フル ページ ヒープを有効にするとパフォーマンスが低下し、アプリケーションが応答しなくなる可能性があることは承知しています。これはまさに私のアプリケーションでも起こりました。通常のページ ヒープで試してみましたが、まだ良い情報が得られませんでした。Application verifier と GFlags で設定してみました。Heap tail やその他のオプションを試してみましたが、根本的な原因を特定することはできませんでした。マシン全体ではなく、特定のイメージを試しました。マシンの RAM を増やすことでフル ページ ヒープを取得することは可能ですか? または、フルページヒープを取得するためにできることはありますか? 提案してください。