|
From: Wuweijia <wuw...@hu...> - 2017-04-01 10:23:07
|
HI:
I ran the valgrind with sh cmd. There is no output. That is why?
Run the valgrind cmd: valgrind --xml=yes --xml-file=./r.xml sh -c ./test0
The output as below:
fd=4, errno=0
va=0x2800
0
There is no xml file generated;
The code (tes0) as below:
#include <stdio.h>
#include <stdlib.h>
#include<fcntl.h>
#include <sys/types.h>
#include<sys/mman.h>
#include<unistd.h>
#include<string.h>
#define ALLOC_SIZE 1024 * 10
int main(int argc, char ** argv) {
int fd = open("./test.log", O_RDWR );
int errno = 0;
int tmp = 0;
printf("fd=%d, errno=%d\n", fd, errno);
while(1) {
void * va = mmap(NULL, ALLOC_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
printf("va=%p\n");
tmp = *((int *)va + 5);
printf("%d\n", tmp);
munmap(va, ALLOC_SIZE);
usleep(1000 * 100);
break;
}
close(fd);
return 0;
}
|