Windows ストア用の 3D ゲームを開発しています。ゲームでメモリ リークが検出されましたが、デバッグ中にメモリ リークのファイル名と行番号が出力に表示されません。以下は、メモリ リークを検出するために含めたコード行です。
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
_CrtDumpMemoryLeaks();
以下は、アプリケーションのデバッグに関する出力です。
Detected memory leaks!
Dumping objects ->
{1686} normal block at 0x06FD72E8, 8 bytes long.
Data: < > 08 F5 FE 03 00 00 00 00
{1685} normal block at 0x03FEF500, 40 bytes long.
Data: < x r > 20 E5 B4 01 78 EE FE 03 E8 72 FD 06 00 A9 03 04
{1684} normal block at 0x0403A900, 64 bytes long.
Data: <W i n d o w s . > 57 00 69 00 6E 00 64 00 6F 00 77 00 73 00 2E 00
{1676} normal block at 0x0406C858, 36 bytes long.
Data: < K > FF FF 00 00 FF EE 82 EE FF 4B 00 82 FF 00 00 FF
{1658} normal block at 0x06FD7208, 8 bytes long.
Data: < > 80 EE FE 03 00 00 00 00
{1657} normal block at 0x03FEEE78, 40 bytes long.
Data: < r J > 00 F5 FE 03 F8 F3 FE 03 08 72 FD 06 E0 4A F7 06
一方、Microsoft のブログによると、次のように_CRTDBG_MAP_ALLOCがコードに含まれている場合、ファイルの名前と行番号を取得する必要があります。
Detected memory leaks!
Dumping objects ->
C:\PROGRAM FILES\VISUAL STUDIO\MyProjects\leaktest\leaktest.cpp(20) : {18}
normal block at 0x00780E80, 64 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
Object dump complete.
コードに_CRTDBG_MAP_ALLOCを含めた後でも、同様の出力 (ファイル名と行番号) が得られません。この問題の解決を手伝ってください。
前もって感謝します!