問題タブ [crtdbg.h]
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++ - ヒープデバッグの使用MSVC++ 2005
ヒープデバッグを有効にして、メモリリークエラーをデバッグしようとしました。私は以下を含めることによってそうします:
_CrtDumpMemoryLeaks()
関心のある関数での呼び出しと一緒に。
次に、プロジェクトプロパティの構成を編集して、デバッグタイプをに設定し'Native Only'
、プリプロセッサ定義'_DEBUG'
とC /C++コード生成ランタイムライブラリを追加します/MDd
。関数呼び出しをどこに置いても_CrtDumpMemoryLeaks()
、次のようにメモリリーク出力がダンプされることがわかりました。
これはどういう意味ですか?呼び出しの時点でダンプ出力があった場合、その前にエラー/リークが実際に発生することを意味しますか?確かにそれを結論付けることができますか?そうでなければ、それは本当に便利なユーティリティではないようです。正しく使用する方法や解釈に関するアドバイス/ヘルプをいただければ幸いです。ありがとう!
c++ - メモリ リーク検出ファイル エラー
メモリリークに関する情報を出力することになっているプログラムがあります。しかし、それは機能していません。プログラムは次のとおりです。
私は DEBUG バージョンでビルドしているので、関数は無視されるべきではありません。私が使用しているコンパイラはVisual Studio 2010です。プログラムはファイル「Memory Leaks.txt」を作成するだけで、ファイルにはコンテンツがありません。何かご意見は?
- 編集 -
提案どおり「適切なファイル ハンドル」を使用するようにプログラムを更新しました。プログラムはまだファイルに何も出力しません。
- 編集 -
問題は、ファイルを閉じることでした。次のコードが機能するようになりました。
c++ - _CRTDBG_MAP_ALLOC がファイル名を表示しない
メモリ リークを検出しようとしています。make _CRTDBG_MAP_ALLOC マクロを使用して、リーク領域の場所を特定しています。だから私は次のようにMACROを定義しています:
私のコードには、次のものがあります。
(Tushar Jadhav に感謝:メモリ消費量が急速に増加し、その後非常にゆっくりと低下します。メモリ リークですか? )
しかし、出力は次のようになります。
このようなものの代わりに:
では、これにファイル名とリークの場所を表示させるにはどうすればよいでしょうか?
c++ - _CrtDumpMemoryLeaks を使用した BOOST_LOG_TRIVIAL でのメモリ リーク
Visual Studio 2010 とブースト ライブラリを使用しています。メイン関数の終了後に呼び出される _CrtDumpMemoryLeaks を使用してメモリ リークを見つけようとしています。boost_log_trivial がメモリをリークしないことは確かです。この偽陽性を回避するにはどうすればよいですか?
ソースコード:
出力:
c++ - Visual Studio のメモリ リーク検出でファイル名と行番号が出力されない
プログラムのメモリ リークをチェックしたいのですが、この Microsoft articleを見つけました。
記事を徹底的にフォローして追加しました
と
プログラムが終了するとき。
出力ウィンドウにすべてのメモリリーク情報が適切にダンプされますが、問題は次のとおりです。
メモリリークが発生しているファイル名と行番号は出力されません!
記事には#define _CRTDBG_MAP_ALLOC
、ファイル名と行番号を出力すると書かれていますが、私にはそうではありません。
私の出力は次のようになります
だから私は本当にそれで作業することはできません...また、F4を押して行に移動しても機能しません。
手伝っていただけませんか?
crtdbg.h - エラー C1083: インクルード ファイルを開けません: 'crtdbg.h': そのようなファイルまたはディレクトリはありません
Visual Studio 2013 で cpp コードをコンパイルしようとしています。以前は正常に動作していました。しかし、今では次のエラーが発生しています:
エラー 1 エラー C1083: インクルード ファイルを開けません: 'crtdbg.h': そのようなファイルまたはディレクトリはありません C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include\afx.h 250 1 IDEditor
crtdbg.h を確認しました。このファイルは"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include"
パスに存在します。
上記のディレクトリを含めることができないようです。プロパティにパスを追加しようとしましたが、それでも同じ問題が発生します。
助けてください
c++ - C1189: #error : エラー: C ランタイム ライブラリの内部ヘッダー ファイルを使用しています
VS 2008 Professional と Windows CE 6.0 SDK を使用してコードを作成しようとしています。
致命的なエラー C1083: インクルード ファイルを開けません: 'crtdbg.h': そのようなファイルまたはディレクトリはありません。ツール -> オプション -> VC++ ディレクトリ -> インクルードに次のパスを含めました。
このファイルは、私のスタートアップ プロジェクトで使用されます。私のソリューションには 10 個のプロジェクト (MFC 静的ライブラリ) があります。10 個中 9 個が正常にコンパイルされています。このプロジェクトだけでこのエラーが発生しています。そのため、パス C:\Program Files\Microsoft Visual Studio 9.0\VC\crt\src をプロジェクトの追加ディレクトリに含めました。今、私にこのエラーを与えています。手伝ってくれませんか。