我尝试使用行号启用 msvc 内存泄漏检测,如下所示:
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
手动在项目属性中,但我只得到这个:
Dumping objects ->
{1466} normal block at 0x00BD4DD0, 40 bytes long.
Data: <(o; ; (o; 1 > 28 6F 3B 00 90 A9 3B 00 28 6F 3B 00 00 D6 31 10
没有行号。我还尝试使用 BOOST_TEST_NO_MAIN 手动定义 main 并自己转储,如下所示:
int main( int argc, char* argv[] )
{
int res = ::boost::unit_test::unit_test_main( &init_function, argc, argv );
_CrtDumpMemoryLeaks();
return res;
}
但也没有任何成功。如何才能做到这一点?