JNI崩溃调试
2024-09-05 15:29:49
JNI崩溃了,系统日志会打印堆栈信息,所以第一步就是取日志
adb shell logcat -v threadtime >>d:/log.txt
然后找到日志里面的关键字backtrace例如我的日志是这样的
- ::38.362 F DEBUG : backtrace: - ::38.363 F DEBUG : # pc 00014d9a /data/app/com.cloudtv.xdogact-/lib/arm/liblocalser.so - ::38.363 F DEBUG : # pc 0000d741 /data/app/com.cloudtv.xdogact-/lib/arm/liblocalser.so (_Z9WriteHeadR4CUrl+) - ::38.363 F DEBUG : # pc 0000e895 /data/app/com.cloudtv.xdogact-/lib/arm/liblocalser.so (_Z6runSerRVb+) - ::38.363 F DEBUG : # pc 0000a999 /data/app/com.cloudtv.xdogact-/lib/arm/liblocalser.so (_Z5DoSerPv+)
现在想定位第三行,就是0000d741对应代码的位置,就只需要把代码填入下面的脚本进替换,然后执行就OK了
#!/bin/bash
dir=$(pwd)
export PATH=$PATH:/android-ndk-r11c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/
export PATH=$PATH:/android-ndk-r11c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin
addr=0000d741
arm-linux-androideabi-addr2line -e $dir/obj/local/armeabi-v7a/liblocalser.so $addr
aarch64-linux-android-addr2line -e $dir/obj/local/arm64-v8a/liblocalser.so $addr
最新文章
- Java中值传递和引用传递的概念
- LeetCode(93) Restore IP Addresses
- IIS7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。=
- Spring MVC集成Tiles使用方法
- selenium自动化遇见Cannot find class in classpath问题
- java基础:模拟ATM取款机
- cve-2017-0199&;metasploit复现过程
- AsyncLocal 与 async await
- BZOJ 5261 Rhyme
- TCC
- JavaScript HTML DOM - 改变 CSS
- JS模块化编程(二):require.js基本用法
- JavaScript学习笔记——错误处理
- Intel Edison学习笔记(二)—— 入门环境配置
- android中LayoutParams设置参数的理解
- Python 日志管理封装
- 6th Alpha阶段的postmortem报告
- 解决SDK未授权问题
- flink学习笔记-数据源(DataSource)
- clojure with postgres
热门文章
- 关于redis的几件小事(十)redis cluster模式
- Shell编程备份数据库
- signal,blinker:信号(看我脸色行事)
- Function HDU - 6546 (数学,贪心)
- 【转载】Stanford CoreNLP Typed Dependencies
- 清除zencart分类页多页后面的&;disp_order &;sort字符串的方法
- 防sql注入方法
- Linux排查问题工具汇总
- 【BZOJ1016】【Luogu P4208】 [JSOI2008]最小生成树计数 最小生成树,矩阵树定理
- 【Python数据分析】用户通话行为分析