SEGV_MAPERR在for循环上崩溃

时间:2018-06-20 15:09:52

标签: android c++ java-native-interface sigsegv crashlytics-android

我的android应用当前处于测试阶段,我通过crashlytics收到崩溃报告。 今天早上,我在for循环上收到了SIGSEGV SEGV_MAPERR,如下所示。

...
int buf_size = buffer->buffer_size;
float* l_ch = buffer->left_channel;
float* r_ch = buffer->right_channel;
float avg_ch[buf_size];
for(int i = 0; i < buf_size; ++i){ CRASH HERE!!!!!!
    avg_ch[i] = (l_ch[i] + r_ch[i]) / 2.0f;
}
...

这对我来说很奇怪,因为崩溃似乎是由于for循环中的条件所致,而不是访问语句中的缓冲区。然而,这种情况绝不会导致分割错误。我可以肯定,自从我上次crashlytics更新以来,此类并未更改,因此它应该报告正确的行号。

我只是好奇是否有人遇到过类似的情况以及可能的原因。或者,可能是在不正确的位置报告了此崩溃事件,并且这个问题毫无意义。

谢谢

0 个答案:

没有答案