Appcenter-sdk-react-native: [iOS] React Native 堆栈跟踪不显示 JS 行

创建于 2018-02-27  ·  39评论  ·  资料来源: microsoft/appcenter-sdk-react-native

我有一个现有的应用程序,我想与 Crashes SDK 集成,但按照说明操作后,JS 堆栈跟踪仍未显示。

这是我从报告中得到的
screen shot 2018-02-27 at 10 25 41

另一方面,当我用一个虚拟应用程序尝试 SDK 时,它运行良好,显示了 JS 崩溃的正确堆栈跟踪。
screen shot 2018-02-27 at 10 33 12

如果我忘记将包与 dSYM 一起上传,则堆栈跟踪会在 RCTAssert.m 上停止。
screen shot 2018-02-27 at 10 36 03

  1. 我需要做什么才能让它在我的应用程序中工作?
  2. 你们如何决定何时显示 JS 堆栈跟踪而不是本机堆栈跟踪?
    假设崩溃报告者需要登陆 RCTAssert.m 才能正常工作,我有可能有帮助的其他信息。 使用 Crashlytics 时,崩溃报告会正确显示在 RCTAssert.m 上。
    我还卸载了 Crashlytics 以确保两个崩溃报告器不会发生冲突。

最有用的评论

我遇到了同样的问题,我看不到 JS 堆栈跟踪。
这是以下JS崩溃产生的异常回溯:

throw new Error('This is a test javascript crash!');

screen shot 2018-07-04 at 8 00 18 pm

所有39条评论

第一次崩溃不是 Javascript。 Facebook 本机代码中发生了一些错误,他们的本机模块抛出了一个客观的 C 异常,而不是 javascript。

我们的 SDK 还处理客观的 C 异常,它们看起来不同。

感谢回复。 有什么我可以做的来找出问题吗?

这是我们获得的所有信息,您可能可以获得单个事件的 RAW 选项卡详细信息,并针对 React Native 存储库创建错误,因为它们可能导致问题。

嘿!

我们有一段时间没有收到你的消息,所以我要继续结束这次谈话。 如果您仍有任何疑问,请随时与我们联系。

感谢您使用应用中心!

我遇到了同样的问题,我看不到 JS 堆栈跟踪。
这是以下JS崩溃产生的异常回溯:

throw new Error('This is a test javascript crash!');

screen shot 2018-07-04 at 8 00 18 pm

@guperrot我有同样的问题。 我愿意:

Crashes.setListener({ shouldProcess: true })
throw Error('test error')

而且我只看到了 Objective-C 的痕迹。 显示 RCTAssert.m 第 132 行。

我还指定了在 react-native 链接发送 Javascript 崩溃

@mmiani @mattslight SDK 对符号化没有做任何特别的事情,这一切都发生在服务器端,上传的符号包含源地图。 如果您已经确定上传了包含 javascript 源映射的符号,如https://docs.microsoft.com/en-us/appcenter/diagnostics/symbolication#uploading -symbols 中所述,但它对您不起作用,请打开一个从https://appcenter.ms 的任何页面获取支持票并描述问题,最好从单个崩溃事件中下载 json 报告文件,并与那里的支持工程师共享。

此外 shouldProcess 是一个返回布尔值的函数,而不仅仅是一个布尔值。

不知何故,我们的应用程序也处于这种状态。 我相信它是在更新到 RN 59.10 之后发生的

@harrisonschwartz你能检查一下更新 RN 版本是否解决了这个问题吗? 根据@guperrot评论,它看起来像是 RN 问题,而不是 SDK。

同样的问题,看不出这里的真正问题是什么。
我也在我的应用程序中使用 codepush,也许这一定有问题?

@sarmad1995我认为不应该。 您是否尝试过上述建议?

同样的问题。 我认为新版本的 React Native 已关闭此功能。
我创建了一个带有初始模板(版本 0.60.5)的 react native 应用程序,然后根据appcenter 中的这个文档添加了两个按钮来触发 javascript 和 native 崩溃。
然后我使用 appcenter 将此应用程序构建到 iOS 应用程序,使用本机堆栈跟踪正确报告了 javascript 和本机崩溃,而 javascript 崩溃的 javascript 堆栈跟踪未显示该行。
我正在联系支持人员查看。

@caisd1998您是否根据本段index.ios.map文件上传到同一个 .zip 文件中?

@russelarms不需要上传源地图或符号文件,因为我是在 appcenter 中构建的,已经处理好了,请参阅您提到的文档的顶部:

App Center Build and Distribution 服务可以自动生成有效的 dSYM 和源映射 .zip 文件,并将文件上传到诊断服务。 如果您使用 App Center 构建应用程序并将其自动分发给最终用户,则无需手动获取和上传符号文件,具体如下步骤所述。

这是报告的崩溃:
Screen Shot 2019-12-26 at 13 52 29

这是源代码

有人找到解决办法了吗?? 我面临同样的问题。 我正在使用 appcenter 来构建和部署应用程序

有人找到解决办法了吗?? 我面临同样的问题。 我正在使用 appcenter 来构建和部署应用程序

我们无能为力。 我已经联系了 App Center 支持,他确认了这个问题,只是作为内部错误进行了跟踪,不知道什么时候可以修复...

我最近花了一些时间在这上面,因为它也影响了我的团队。 最有趣也可能是有用的信息是渲染循环内的崩溃似乎使他们的 JS 堆栈跟踪成功上传。 响应例如事件处理程序回调(渲染循环之外)的崩溃确实在 .plcrash 文件中创建了一个 JS 堆栈跟踪,这在文本上与渲染循环崩溃有细微的不同,但崩溃转储的 JS 部分(附加到“附加信息”)上传后不显示。 我一直无法弄清楚为什么; 检查由这些情况中的每一个引发的异常的结构并没有显示出任何可辨别的差异,并且由于显而易见的原因,调试过程的实际故障转储部分真的很困难。

还应该提到https://github.com/microsoft/appcenter/issues/857可能是相关的。

以下是应用中心支持的回复:

此处的小更新:正在审查和完成工作项。
您可以使用这些 PR 进行跟踪:
https://github.com/microsoft/appcenter-sdk-apple/pull/1959
https://github.com/microsoft/appcenter-sdk-react-native/pull/798
合并后,下一个版本(合并后的版本)应该包含针对您的问题的修复程序。

这些提交对任何人有帮助吗? 我仍然无法在堆栈跟踪中获取 JS 行。
我什至创建了一个新的应用程序并尝试..

@victorkvarghese该修复程序尚未发布,它将包含在下一个版本中

你好,

我们正在努力弄清楚为什么堆栈跟踪不适用于 js
现在已经超过 2 个月了……我们什么时候可以发布?

在本月底之前,很可能在接下来的几天内。

这是iOS特定的吗? 我在 React Native Android 上遇到了同样的问题。

@patman1 ,不幸的是,我们尚不支持 Android 上的 JS 堆栈跟踪。
您可以在此处跟踪和投票以支持功能请求: https :

这个令人难以置信的功能差距至少在官方设置文档中值得一提
https://docs.microsoft.com/en-us/appcenter/sdk/crashes/react-native它会节省一些时间。

新版本的 SDK 已经发布,修复了: 3.0.0

这是导致此错误的核心模块中的相关更改日志条目(它不是崩溃模块本身的错误):

[修复]修复 React Native SDK 不发送 wrapperSdk 信息的问题。

请重新打开此线程..
更新到 3.0.0,禁用位码,符号通过 appcenter 自动上传。

还是一样的问题。 我现在和 appcenter 团队联系了将近一个月了..

Screenshot 2020-02-25 at 9 23 54 PM

PS:这不是一个无符号的错误。

@victorkvarghese可以在新的新项目上复制,还是只有在更新后才能复制?

@Jamminroot我在旧版本和最新版本上也有这些问题

@victorkvarghese好的,它可以在干净的项目中复制吗? 刚新建工程,加SDK,试运行几段代码? 还是只有在更新到新版本后才会发生?

另外,您是否有任何机会按照文档运行react-native bundle --entry-file index.ios.js --platform ios --dev false --reset-cache --bundle-output unused.jsbundle --sourcemap-output index.ios.map

@Jamminroot我深入挖掘崩溃报告sdkVersion: 2.5.3而不是3.0.0
我确实通过替换 package.json 中的版本并重新运行 pod install 来升级应用程序。

但不确定为什么 sdkversions 在崩溃报告中仍然是2.5.3 。 仍在调查那个
pod install

 - appcenter-core (3.0.0):
     - AppCenterReactNativeShared
     - React
   - AppCenter/Core (2.5.3)
   - AppCenterReactNativeShared (2.6.1):
     - AppCenter/Core (= 2.5.3)

@victorkvarghese

我确实通过替换 package.json 中的版本并重新运行 pod install 来升级应用程序。

你在那之后运行了npm iyarn install吗?

您也可以尝试运行pod install --repo-update而不是pod install

@russelarms Thnaks 它的工作。 能够更新到 3.0.0

@Jamminroot @guperrot更新到最新版本为我解决了这个问题。 您现在可以关闭问题。

非常感谢各位。。

Screenshot (18)

很高兴它起作用了。
祝你今天过得愉快!

此页面是否有帮助?
0 / 5 - 0 等级