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

无法找到NDK-STACK.html、ndk-stack.cmd无响应,求助排查SIGSEGV错误

解决NDK-STACK找不到及无响应问题,排查SIGSEGV崩溃

首先得说,你遇到的情况大概率是NDK版本或者路径的问题——毕竟现在新版NDK的结构和旧版ndk-bundle已经有不少变化了,一步步来解决:

第一步:确认你的NDK实际安装路径

很多人还以为NDK在ndk-bundle里,但其实从NDK r19开始,Android Studio默认用Side by side的方式安装NDK,也就是每个版本单独放在Sdk/ndk/<具体版本号>文件夹下,比如Sdk/ndk/25.2.9519653,而ndk-bundle只是旧版的兼容目录,可能是空的或者版本很老。

你可以打开Android Studio的SDK Manager→SDK Tools,看看NDK (Side by side)选项下安装的版本,然后找到对应的路径。

第二步:找到ndk-stack工具的正确位置

不管是新版NDK还是旧版ndk-bundle,ndk-stack都在prebuilt/windows-x86_64/bin子目录里:

  • 新版NDK路径示例:Sdk/ndk/25.2.9519653/prebuilt/windows-x86_64/bin/ndk-stack.exe
  • 旧版ndk-bundle路径:Sdk/ndk-bundle/prebuilt/windows-x86_64/bin/ndk-stack.cmd

至于运行无反应的问题:ndk-stack本身不带参数运行时就是静默等待输入的,不会输出任何内容,你得给它指定符号表路径,或者输入logcat日志才行。

第三步:正确运行ndk-stack排查SIGSEGV崩溃

要解析你的Fatal signal 11错误,按这个步骤来:

  1. 先从logcat里复制包含崩溃信息的完整日志(从崩溃前几行到崩溃结束的内容都要)。
  2. 打开命令提示符(CMD),cd到ndk-stack所在的文件夹,比如:
    cd D:\Android\Sdk\ndk\25.2.9519653\prebuilt\windows-x86_64\bin
    
  3. 运行命令指定你的so文件符号表路径(必须是带符号的debug版so,release版会剥离符号,解析不了):
    ndk-stack -sym D:\YourProject\app\build\intermediates\cmake\debug\obj\armeabi-v7a
    
  4. 把刚才复制的logcat日志粘贴到CMD里,按回车,ndk-stack就会自动解析出崩溃对应的代码文件和行号了。

关于找不到NDK-STACK.html的问题

新版NDK已经不再提供单独的NDK-STACK.html文档了,相关用法要么整合到Android Studio的帮助文档里(可以通过Help→Find Action搜索NDK Stack),要么在NDK安装目录的docs文件夹里找markdown格式的说明。如果确实需要旧版的html文档,可以下载NDK r21及更早的版本,这些版本里还保留了单独的html文档。

另外,如果你嫌每次cd路径麻烦,可以把ndk-stack所在的bin目录加到系统环境变量PATH里,这样在任何目录都能直接调用ndk-stack命令。

内容的提问来源于stack exchange,提问作者batsheva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:14:04