You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android SDK模拟器:使用crasher strlen-NULL复现原生崩溃遇执行问题求助

解决crasher命令找不到并复现strlen-NULL崩溃的方法

1. 确认系统版本是否支持crasher

crasher工具仅存在于eng或userdebug类型的Android系统镜像中,user版本默认不包含该工具。你可以通过以下命令确认当前系统类型:

getprop ro.build.type

如果输出是user,则需要更换为userdebug/eng版的模拟器镜像。

2. 查找并运行crasher(针对userdebug/eng版本)

如果系统是支持的版本,先查找crasher的位置:

find / -name crasher 2>/dev/null

通常会输出/system/bin/crasher,直接执行对应路径的命令:

/system/bin/crasher strlen-NULL

执行后会触发native崩溃,系统会生成tombstone文件,你可以通过adb pull /data/tombstones/tombstone_00等命令导出分析。

3. 手动复现strlen-NULL崩溃(通用方法)

如果找不到crasher,也可以自己编写一个简单的C程序来复现:

  1. 编写代码crash_test.c:
#include <string.h>

int main() {
    strlen(NULL);
    return 0;
}
  1. 用NDK编译(假设NDK路径已配置):
arm-linux-androideabi-gcc crash_test.c -o crash_test --sysroot=$NDK_ROOT/platforms/android-29/arch-arm
  1. 将编译好的程序push到模拟器:
adb push crash_test /data/local/tmp/
  1. 进入shell并运行:
adb shell
cd /data/local/tmp
chmod +x crash_test
./crash_test

这会直接触发strlen(NULL)的native崩溃,效果和crasher工具一致。

内容的提问来源于stack exchange,提问作者René Heuven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:12:17