我一直在试图调试分割故障最近使用我树莓派(B型)的valgrind,运行Debian GNU/Linux7.0(喘息).每次我在编译的C++程序上运行valgrind时,我都得到如下内容:
disInstr(arm): unhandled instruction: 0xF1010200
cond=15(0xF) 27:20=16(0x10) 4:4=0 3:0=0(0x0)
valgrind: Unrecognized instruction at address 0x4843638.
at 0x4843638: ??? (in /usr/lib/arm-linux-gnueabihf/libconfi_rpi.so)
Run Code Online (Sandbox Code Playgroud)
然后是正常的valgrind东西,导致SIGILL并终止我的程序.起初我假设我的程序中有一些内存泄漏导致它执行一条非指令内存作为指令,但后来我运行了以下hello world代码,得到了相同的结果.
#include <iostream>
using namespace std;
int main() {
cout<<"Hello World"<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这可能不会有内存泄漏/段错误,为什么它会给我这个错误?我对valgrind很新,但我用最基本的方式运行它valgrind ./a.out
.