用了别人的so库,不知道什么地方出问题,异常退出,请问应该如何调试?
我用android studio编写程序。
用了别人的so库,库里会自动启动一些线程。
然后我现在用的时候,发现可能是什么地方用错了,在我的主线程运行到某个状态之后有可能异常退出。
在那个状态之后,绝大部分情况都会退出,极偶尔的情况不退出,极偶尔的情况在那之前退出。
我设置断点想找到退出的位置,但是发现,在某个状态之后的位置,就算遇到断点挂起了进程,也有可能退出,并且越靠后退出的几率越大!
我没办法了,甚至用IDA反编译后调试,发现退出时,没有一个线程函数是执行到函数末尾的!应该确实是有异常才退出的。
断点设置在和exit有关的导入函数上,发现都不是从这些函数上退出的。
勾选了Suspend on thread start/exit,在退出时,也不会挂起。
请问有什么办法可以定位到有问题的位置吗?
无论使用android studio或者IDA调试都行,只要能定位!