在我们的程序挂掉之后,我们抓取log分析,有时候有以下提示:
这句话的意思就是说我们的程序主进程已经死掉了,这肯定不是我们所期望的啊,那么这种错误如何分析呢?以下是我的分析过程
为什么要抓取这段log呢?这得从process xxx has died.这个错误说起,这个错误一般是由内存栈溢出导致的,而导致内存栈溢出的原因很大程度上是由于JNI的调用,在我的测试程序中的确用到了JNI。这个问题就出在C/C++所写的代码中。比如:申请了一个很大的栈空间char[65535]或者在C/C++中递归调用了一个栈方法,也有可能代码上出现非逻辑性错误,但代码判断错误或者没有正常抛出异常等等,从而导致栈溢出等等。