1. valgrind mac os 安装步骤:
# Only if you haven't downloaded the latest SVN trunk of Valgrind
#
# svn co svn://svn.valgrind.org/valgrind/trunk valgrind
# cd valgrind
./autogen.sh
./configure --prefix=/usr/local # Per your chosen configure option
make -j2
sudo make install
2. 测试函数:
命令是:
valgrind --tool=memcheck --leak-check=full ./string-test
// 写越界
void test1()
{
char* pd = malloc( 10 );
for( int i = 0; i < 15; i++ ){
memcpy( pd, "a", i );
}
}
// overlap
void test2()
{
char x[50];
int i;
for( i = 0; i < 50; i++ ){
x[i] = i + 1;
}
strncpy( x+20, x , 20 );
strncpy( x + 20, x, 21 );
strncpy( x, x + 20, 20 );
strncpy( x, x + 20, 21 );
x[39] = '\0';
strcpy(x, x + 20 );
x[39] = 39;
x[40] = '\0';
strcpy( x, x + 20 );
}
// 没有初始化
void test3()
{
int a, b;
char*p;
char*s;
if ( a == 100 )
{
printf("this is a test");
}
if ( p == NULL ){
printf("abc");
}
}
mac os 下边的valgrind 工具的安装与测试
最新推荐文章于 2024-05-15 10:02:28 发布