问题描述
我目前正在使用Intel Pin来跟踪某些应用程序的内存访问。但是我发现,如果目标应用程序使用了fopen()函数,则Pinatrace工具会因分段错误而崩溃。这是我正在使用的测试代码:
int main(){
int i;
***************
FILE *f = fopen("./test.txt","r");
while(!feof(f))
fscanf(f,"%d",&i);
fclose(f);
printf("value of i is %d.\n",i);
***************
printf("hope it works.\n");
multiply();
return 0;
}
int multiply()
{
int i,sum;
sum = 0;
int *A = (int *)malloc(sizeof(int) * 10);
int *B = (int *)malloc(sizeof(int) * 10);
for(i = 0; i < 10; i++)
{
A[i] = i;
B[i] = i;
}
for(i = 1; i < 10; i++)
sum += A[i] * B[i];
printf("value of sum is %d.\n",sum);
return 0;
}
如果我对*****之间的界线进行注释,一切都很好,这就是为什么我认为故障与fopen()函数有关。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)