あまり役に立たない診断メッセージでメモリのバグを追跡しています。
HEAP[myprogram_run.exe]: HEAP: Free Heap block e0969b0 modified at e096a70 after it was freed
Windows has triggered a breakpoint in myprogram_run.exe.
This may be due to a corruption of the heap, and indicates a bug in myprogram_run.exe or any of
the DLLs it has loaded.
The output window may have more diagnostic information
The program '[9340] myprogram_run.exe: Native' has exited with code -1 (0xffffffff).
見回した後、次の MSDN リンクを見つけまし た。 _DEBUG を含め、メイン関数に、推奨される順序で以下を追加しました (上記のリンク)。
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
...
int main(..,..) {
...
_CrtDumpMemoryLeaks();
return retval;
}
しかし、Visual Studio ソリューションの [出力] ウィンドウに、アドバタイズされた診断出力 (行番号などを含む) がまだ表示されませんか? これを正しく診断する方法についての洞察に感謝します。ありがとう!
プロジェクトのプロパティで設定できる