【发布时间】:2020-05-12 04:12:09
【问题描述】:
有没有办法使用 Visual Studio Code 在 C++ 应用程序中显示内存泄漏报告?
也许是某个图书馆?一个扩展?使用 MinGW 编译器?
我在带有 C++ 扩展 (0.26.3) 的 Windows 10 上使用 Visual Studio Code (1.41.1)。 我已经使用Configure VS Code for Microsoft C++ 中编写的 MSVC 编译器工具集 (2019) 配置了 VS Code。 但是,我无法使用 CRT 库显示内存泄漏,如Find memory leaks with the CRT library 中所写。 我的简单示例代码:
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#include <iostream>
int main() {
printf("Hello world!\n");
int *a = new int;
*a = 8;
//delete a;
_CrtDumpMemoryLeaks();
return 0;
}
使用此代码,我看不到_CrtDumpMemoryLeaks() 生成的任何报告。
在调试代码时,编译器似乎完全跳过了 _CrtDumpMemoryLeaks(); 行。
难道我做错了什么?
我尝试使用 _DEBUG=1 定义更改配置,但是编译器甚至跳过了 #ifdef _DEBUG 语句。
【问题讨论】:
标签: c++ visual-c++ visual-studio-code memory-leaks vscode-debugger