首先搭建ndk和adb命令到环境变量
随后在terminal命令行执行如下命令:
adb logcat | ndk-stack -sym app\build\intermediates\cmake\debug\obj\armeabi
即可找到c/c++代码错误的行号
记录一个在ndk开发中记一个遇到的比较奇怪的bug:
方法如下:
void *play_thread(void *args) {
}
通过ndk-stack找到代码错误的行数为play_thread方法体结束的大括号位置
百思不得解,这里的方法并没有什么明显的错误啊
细心观察发现当前方法缺少方法返回值,AndroidStudio c的代码检查并不是那么严格,坑。。。。
重新修改代码为
void *play_thread(void *args) {
return NULL;//添加返回值
}
程序运行通过