我使用的是Windows 7 Professional。 我被赋予了一个任务,我需要生成一些系统级问题,以便生成一个事件,我们可以在事件查看器中看到。
我正在测试的产品(公司产品*不能透露)包含一个可以检查或创建内存泄漏警报的飞镖。
我写了一个简单的代码,但我在事件查看器中看不到任何此类事件日志。请建议我至少应该生成的任何工具或任何程序。
我的代码:
#include<malloc.h>
#include<stdio.h>
int main() {
for(int i = 0; i < 100; i++) {
int * ptr = (int *) calloc (1000, sizeof(int)); // allocating 40 bytes
// let sizeof int = 4 bytes)
ptr = NULL;
}
return 0;
}
答案 0 :(得分:0)
我猜测优化程序已删除对calloc
的调用,因为从中返回的值根本没有被使用。在致电calloc
之后和ptr = NULL;
之前添加以下行。
printf("%d\n", ptr[0]);
换句话说,请检查以下程序:
#include<malloc.h>
#include<stdio.h>
int main() {
for(int i = 0; i < 100; i++) {
int * ptr = (int *) calloc (10, sizeof(int)); // allocating 40 bytes
// let sizeof int = 4 bytes)
printf("%d\n", ptr[0]);
ptr = NULL;
}
return 0;
}