c - 如果目标应用程序使用 fopen() 函数,英特尔 Pin 会出现分段错误?
问题描述
我目前正在使用 Intel Pin 来跟踪某些应用程序的内存访问。但我发现如果目标应用程序使用 fopen() 函数,Pinatrace 工具会因分段错误而崩溃。这是我正在使用的测试代码:</p>
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() 函数有关。
我在这里被困了一个星期,希望能得到你的帮助。
解决方案
推荐阅读
- maven - 从jenkins部署到tomcat时出现tomcat 405错误
- python - Python:Scipy 的 curve_fit 仅选择最低界限作为拟合参数
- java - dom4j selectSingleNode 返回空值
- r - ggplot2 问题:FUN 中的错误(X[[i]],...):找不到对象“HR”
- angular - Angular,为什么我的组件没有渲染?
- count - 在 PowerBI (DAX) 中,如何仅对所有年份都存在的名称进行第一年和最后一年的总和
- java - 除了手动乘以小时和分钟的总和之外的任何类乘以时间
- java - 长时间保持jdbc连接打开是安全的
- python - 使用 Python 进行网页抓取
- java - IBM Watson NLC - 如何在 Java SDK 中重新训练现有分类器