signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x12a......?
在 apk 里,如下代码小概率会 core,堆栈分析 core 到"g_is_test = false"这里了,但是这里会有什么非法指令操作呢?
//a.cppbool g_is_test = false; //全局变量
void set_is_valid() {
if (g_is_test) {
g_is_test = true;
}
if (g_is_test == false) {
//.....
}
}
int set_is_test() {
g_is_test = false; //core 在这里了
}
// b.cpp
set_is_valid();
set_is_test();
回答:
如果你的代码是 C++ 的化,基本不可能崩在这里,所以你的代码会崩在这里,大概率是因为其它原因导致的,譬如说堆栈溢出破坏了返回地址,导致代码执行到了这里。所以你可以考虑在这里前后加入点废代码,然后看看是不是固定崩在这一行,如果不是,就应该是其它地方导致的问题。
以上是 signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x12a......? 的全部内容, 来源链接: utcz.com/p/944926.html