当前位置: 首页 > 知识库问答 >
问题:

本机崩溃报告包含偏移的地址

王鹏飞
2023-03-14

我已经根据文档集成了华为崩溃服务,并且能够在Web控制台中看到NDK崩溃。但是,报告中的地址偏移了4,因此当我想符号崩溃时,我得到了错误的结果。

例如,在logcat中,我可以看到

2020-12-10 15:23:51.981 5914-5914/? D/formatEventInfo: statck
    #00 pc 00c57c10 /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(std::set_unexpected(void (*)())) [arm64-v8a::]
    #01 pc 00c57d88 /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(unknow) [arm64-v8a::]
    #02 pc 00c54b54 /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(unknow) [arm64-v8a::]
    #03 pc 00c5425c /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(__cxa_get_exception_ptr) [arm64-v8a::]
    #04 pc 00c541dc /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so(unknow) [arm64-v8a::]

并且这些地址出现在web控制台中,而有效的logcat崩溃堆栈跟踪是

    --------- beginning of crash
2020-12-10 15:23:52.067 6246-6246/? I/crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
2020-12-10 15:23:52.068 871-871/? I//system/bin/tombstoned: received crash request for pid 5914
2020-12-10 15:23:52.069 6246-6246/? I/crash_dump64: performing dump of process 5914 (target tid = 5914)
2020-12-10 15:23:52.099 6246-6246/? A/DEBUG: pid: 5914, tid: 5914, name: o.a.b  >>> package-name <<<
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #01 pc 0000000000c57c0c  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #02 pc 0000000000c57d84  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #03 pc 0000000000c54b50  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #04 pc 0000000000c54258  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so
2020-12-10 15:23:52.104 6246-6246/? A/DEBUG:       #05 pc 0000000000c541d8  /data/app/package-name-w5yGIc9ek_yTyk1ARvNP-w==/lib/arm64/libName.so (__cxa_throw+120)

有什么想法吗?

共有1个答案

傅阳
2023-03-14

您得到的崩溃报告是正确的。行号(00c57c10、00c57c0c等)不需要完全匹配。因为地址段是一个范围,例如,您的00c57c10和c57c0c可能在文件的同一地址中。如果您上传本机符号文件,您可能会得到一个可读的崩溃报告。

在这里你可以看到一个例子:获得一份NDK事故报告

看起来你丢失了你的uuid,因为你的文件有一些错误:[arm 64-v8a::];[arm64-v8a::]...他们应该和uuid在一起。

AppGallery连接崩溃服务的文档

 类似资料:
  • Google Play Console发布前报告称,我的应用程序在Pixel Android 8.0上运行时发生崩溃(其他应用程序没有问题)。在观看重播时,我没有看到任何问题,也没有看到应用程序崩溃。 这是提供的信息。 问题:com本机崩溃。xxxxxxxxx 构建指纹:“google/sailfish/sailfish:8.0.0/OPR3。170623.008/4294783:用户/释放键版本

  • date String ID Integer

  • 日期 字符串 id String CrashReport Object date Date id String

  • 将崩溃日志提交给远程服务器 进程: Main, Renderer 以下是一个自动提交崩溃日志到服务器的示例 const { crashReporter } = require('electron') crashReporter.start({ productName: 'YourName', companyName: 'YourCompany', submitURL: 'https:/

  • 日期 字符串 id String

  • 我已经成功地将Firebase集成到我的项目中 (身份验证和存储工作很好),但是在简单地集成了Crashlytics并故意(而不是故意)崩溃我的应用程序之后:-没有崩溃报告出现在崩溃仪表板中。 我确实在logcat: d/firebaseApp:com.google.Firebase.crash.firebaseCrash不链接。跳过初始化 i/CrashlyticScore:Crashlytic