【发布时间】:2015-01-20 08:13:34
【问题描述】:
我使用开放式嵌入式创建了一个嵌入式自定义 Linux 发行版,我想测试我的系统的行为。我的测试用例是看看“如果用户空间应用程序产生内存泄漏”会发生什么。
所以出于测试原因,我想使用脚本 shell 或 C 创建内存泄漏?
谁能帮帮我?
【问题讨论】:
标签: c shell memory memory-leaks embedded-linux
我使用开放式嵌入式创建了一个嵌入式自定义 Linux 发行版,我想测试我的系统的行为。我的测试用例是看看“如果用户空间应用程序产生内存泄漏”会发生什么。
所以出于测试原因,我想使用脚本 shell 或 C 创建内存泄漏?
谁能帮帮我?
【问题讨论】:
标签: c shell memory memory-leaks embedded-linux
这个函数会泄露:
void leakingFunction()
{
int* a = malloc(100);
}
【讨论】:
代码高尔夫?
main(){for(;;)malloc(9999999);}
【讨论】:
很容易产生内存泄漏
void func()
{
int *ptr = malloc(sizeof(int) * 1000);
return;
}
您没有释放分配给指针 ptr 的内存,因此存在内存泄漏,因为此分配的内存不可用于其他应用程序,最终如果您继续这样做,那么您的内存就会用完。喜欢
while(1)
{
int *ptr = malloc(sizeof(int) * 1000);
}
【讨论】:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main( void )
{
int *ptr = NULL;
while ( 1 )
{
ptr = (int*) malloc ( 1024 );
sleep ( 2 );
}
return ( 0 );
}
#!/bin/bash
echo " memory leak script started"
./memory
【讨论】: