代码之家  ›  专栏  ›  技术社区  ›  marcinj

错误的本机调用堆栈

  •  0
  • marcinj  · 技术社区  · 5 年前

    我对crashylitics显示本地崩溃的正确调用堆栈有问题它以前工作过一段时间,但现在调用堆栈要么没有意义,要么缺少名称我通过查看~/.crashylitics日志文件来确保符号正在上载那里一切看起来都很好我做了一个测试崩溃,并将logcat中的tombstone与crashylitics中的内容进行了比较(我将fabric.io项目与firebase连接起来)。

    让我困扰的是,我们正在为三个不同版本的apk(不同的本地编译标志)在相同的apk版本代码、不同的版本名和相同的包下上载符号。下面的测试是在单个配置中使用应用程序构建进行的,因此符号只针对一个apk和版本代码发送。生成的调用堆栈的质量没有变化。

    所以logcat的墓碑如下它确实显示了调用堆栈,但是没有内联函数调用(应该有更多的级别)。libfoobar.e063.so在基址=7de475d000处加载。

    龙猫墓碑

    *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    Build fingerprint: 'samsung/dreamltexx/dreamlte:9/PPR1.180610.011/G950FXXS4DSE1:user/release-keys'
    Revision: '10'
    ABI: 'arm64'
    pid: 9888, tid: 9888, name: example.foobar  >>> com.example.foobar <<<
    signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
    Cause: null pointer dereference
        x0  0000000000000020  x1  0000000000000001  x2  000000000000001f  x3  0000007e849525e0
        x4  0000000000000190  x5  0000000000000000  x6  740c340d00000000  x7  000000000d340c74
        x8  0000000000000000  x9  0000000000000020  x10 0000007de4da3cac  x11 0000000000000000
        x12 0000007de49ebb18  x13 0000000000000000  x14 ffffffffff000000  x15 740c340d00000000
        x16 0000007de5843d40  x17 0000007e85433cb0  x18 0000007fec905a2a  x19 0000000000000000
        x20 0001280100000000  x21 0000007fec906650  x22 0000000000000001  x23 0000007de495488c
        x24 0000000000000000  x25 0000000000000000  x26 0000007dff614ca0  x27 0000000000000055
        x28 0000007fec906668  x29 0000000000010072
        sp  0000007fec906300  lr  0000007de4da3a74  pc  0000007de4da3e24
     backtrace:
         #00 pc 0000000000784e24  /data/app/com.example.foobar-baBCcRs3wa4-0jvDxCrWEQ==/lib/arm64/libfoobar.e063.so (offset 0x620000) (Foo::CStringW::FormatV(wchar_t const*, std::__va_list)+1312)
         #01 pc 0000000000787304  /data/app/com.example.foobar-baBCcRs3wa4-0jvDxCrWEQ==/lib/arm64/libfoobar.e063.so (offset 0x620000) (Foo::CStringW::FormatInternal(wchar_t const*, ...)+84)
         #02 pc 0000000000687e00  /data/app/com.example.foobar-baBCcRs3wa4-0jvDxCrWEQ==/lib/arm64/libfoobar.e063.so (offset 0x620000) (Java_com_example_common_jni_FooBar_makeForcedNativeCrash+248)
    

    fabric.io(和firebase)中显示的内容如下。最后一列是我的计算,这表明可以计算正确的地址。我不知道是什么?-标记的线。01和02之间有4个调用,我想可能是内联的。

    造成这些问题的原因是什么?是否有任何编译器标志可以与crashylitics内部工作程序相互干扰?我可以补充一点,我们的应用程序是相当大的,发行版,所以文件大小大约为20MB,符号大小大约为300MB。我看到,~/.crashylitics文件夹中发送到服务器的符号(.cSYM.gz)大约为10MB。

    SIGSEGV 0x0000000000000000
                                      ADDR                   (ADDR - LibBase)  
    0  libfoobar.e063.so              0x7de4ee1e24 (Missing) 0x784E24         #00  - same as in logcat tombstone
    1  (Missing)                      0x7de4a92824 (Missing) 0x335824
    2  linker64                       0x7e8606e1d4 (Missing) 0xA19111D4
    3  (Missing)                      0x7de4825987 (Missing) 0xC8987
    4  linker64                       0x7e8606e4c0 (Missing) 0xA19114C0
    5  linker64                       0x7e85fc4d20 (Missing) 0xA1867D20
    6  linker64                       0x7e86098e8e (Missing) 0xA193BE8E
    7  libc.so                        0x7e854a3b08 (Missing) 0xA0D46B08
    8  libfoobar.e063.so              0x7de4de4d04 (Missing) 0x687D04         ?
    9  linker64                       0x7e85fc0420 (Missing) 0xA1863420
    10 libfoobar.e063.so              0x7de4de4d04 (Missing) 0x687D04         ?
    11 libc.so                        0x7e854a3b08 (Missing) 0xA0D46B08
    12 libfoobar.e063.so              0x7de4de4d04 (Missing) 0x687D04         ?
    13 (Missing)                      0x7df6e0f694 (Missing) 0x126B2694
    14 (Missing)                      0x7de7ad1fe0 (Missing) 0x3374FE0
    15 libfoobar.e063.so              0x7de4ee4304 (Missing) 0x787304         #01  - same as in logcat tombstone
    16 libc.so                        0x7e854812fc (Missing) 0xA0D242FC
    17 libfoobar.e063.so              0x7de4de4e00 (Missing) 0x687E00         #02  - same as in logcat tombstone
    18 libfoobar.e063.so              0x7de4de4dd4 (Missing) 0x687DD4
    19 libart.so                      0x7dff5071a8 (Missing) 0x1ADAA1A8
    20 (Missing)                      0x7de7ad1fe0 (Missing) 0x3374FE0
    21 libart.so                      0x7dff50717c (Missing) 0x1ADAA17C
    22 base.odex                      0x7de762c358 (Missing) 0x2ECF358
    23 (Missing)                      0x7df6e0f694 (Missing) 0x126B2694
    24 (Missing)                      0x7de7ad1fe0 (Missing) 0x3374FE0
    25 libart.so                      0x7dff50824c (Missing) 0x1ADAB24C
    26 libart.so                      0x7dff076160 (Missing) 0x1A919160
    27 (Missing)                      0x7de7ad1fe0 (Missing) 0x3374FE0
    28 (Missing)                      0x7df6e0f694 (Missing) 0x126B2694
    29 (Missing)                      0x7de7ad1fe0 (Missing) 0x3374FE0
    30 (Missing)                      0x6f42c6ac (Missing)
    31 (Missing)                      0x1367f02c (Missing)
    32 (Missing)                      0x1367f08c (Missing)
    33 (Missing)                      0x6f324ae4 (Missing)
    34 (Missing)                      0x7df6e0f694 (Missing)
    35 (Missing)                      0x7df6e0f694 (Missing)
    36 libart.so                      0x7dff22c5e8 (Missing)
    37 (Missing)                      0x735951fc (Missing)
    38 (Missing)                      0x9d1cc0ec (Missing)
    39 libart.so                      0x7dff2265a4 (Missing)
    40 (Missing)                      0x7df6e0f694 (Missing)
    41 libart.so                      0x7dff226410 (Missing)
    42 (Missing)                      0x83e0b94c (Missing)
    43 libart.so                      0x7dff0e0764 (Missing)
    44 (Missing)                      0x7df6e0f694 (Missing)
    45 (Missing)                      0x7de7a4b38c (Missing)
    46 libart.so                      0x7dff4d873c (Missing)
    47 libart.so                      0x7dff4f6efc (Missing)
    48 (Missing)                      0x7de7a4b38c (Missing)
    49 libart.so                      0x7dff4fa794 (Missing)
    
    0 回复  |  直到 5 年前