zoukankan      html  css  js  c++  java
  • Android开发手记之Native Crash

    项目即将发版,测试人员在一台之前未测试的机器A上发现一个崩溃,而且是启动就崩溃,

    关键崩溃日志还是native crash:

    signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1
    r0 00000001 r1 12c26e2c r2 70db68b8 r3 00000000
    r4 130ef070 r5 f2f34900 r6 131162e0 r7 00000001
    r8 131f0c00 r9 f3006b00 sl 131f0d80 fp 00000001
    ip 00009568 sp d72a2360 lr 73f3ac09 pc dd6d143e cpsr 000e0030

    以前看到这样的日志,一般都扔给系统组去找,但这次不一样,每次都崩溃。

    1.用给测试人员的包,在测试机器A验证了下确实崩溃,但其他机器不崩溃。

    2.本地自己编译了一个debug版本,在测试机器A上运行,竟然没有崩溃。

    可以确定是混淆有问题了,至于为啥其他机器没问题,确实很奇怪。

    3.打LOG,确定崩溃地点。--- 启动的时候运行的代码,进行二分查找。

    最终确定push那个模块有问题,额外进行深入,发现是接入的Oppo模块有问题,

    上网找资料和分析SDK中的代码,加混淆配置。

    解决。

    总结:

    遇到的native crash 不要怕,尤其是必现的,最坏的情况下是对特定版本、机型移除这个模块。

  • 相关阅读:
    软件测试流程
    Python2 RF(3.0.4)与Python3 RF(3.1.2)区别
    Ubuntu Install RobotFramework with Python3
    Beta测试与Alpha测试有什么区别
    网络协议,如TCP/UDP的区别?
    缺陷相关知识
    linux_machine-id
    monkey自定义脚本实践
    Monkey事件
    Linux虚拟机fdisk分区
  • 原文地址:https://www.cnblogs.com/mengshu-lbq/p/13689650.html
Copyright © 2011-2022 走看看