无论程序是什么,valgrind 都会给出几乎相同的输出:
非法指令(核心转储)。
即使在这个底层程序中,它也显示相同
#include<stdio.h>
void fun(int *i)
{
printf(" %d \n",*i);
}
int main()
{
int j=90;
fun(&j);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您valgrind
已损坏,或与您的 C 库不兼容。
要确认这一点,首先看看您是否可以运行valgrind
二进制文件:
valgrind --help
Run Code Online (Sandbox Code Playgroud)
(如果失败,可能是二进制文件已损坏或用于不同的架构)
然后在你没有写的东西中尝试:
valgrind /bin/true
Run Code Online (Sandbox Code Playgroud)
(如果失败,可能与您的 C 库不兼容)
假设其中一个或多个失败,您将需要重新安装并重valgrind
试。
归档时间: |
|
查看次数: |
2275 次 |
最近记录: |