cocos 如何实现异常捕捉 3.4.2

  • Creator 版本:3.4.2

  • 目标平台: H5/ iOS / Android
    如何捕捉游戏的报错日志
    H5
    尝试过window.onerror = function(message, source, lineno, colno, error) { … } ,发现并没有调用
    ========================================================================
    android
    方法1:
    window.__errorHandler = function (file: any, line: any, error: any) {
    console.log("=======>", file, line, error)
    },没有调用
    方法2:
    window.console.error = function () {
    console.log("=======>", JSON.stringify(arguments));
    },有调用但是没有获取到详细的错误信息

1赞

接bugly

准备接bugly 用它的android SDK 但是不知道如何获取到js的错误日志

获取日志是bugly的事,不用瞎操心

bugly 能直接捕捉js层面的报错吗 还有就是H5 也要做 bugly满足不了 :rofl:

为什么不能?你怕是连bugly文档都没看过吧


再次确认无法捕捉到js的错误日志, 第一张是js异常错误 第二张图是调用bugly本身的测试接口 是java层面的异常,第三张bugly后台并没有js的异常错误统计

不用再次确认了,没有就是没接好或者使用方式不对,我接手的几个项目全都用的bugly

那可能方式不一样 看这位大佬接的貌似也是要主动上传https://forum.cocos.org/t/cocoscreator-bugly/97487

window.onerror window.__errorHandler 两个都可以的,我一直在用.直接上传到服务器配合sourcemap能很快定位到问题.

是的 但是3.4这2个接口都没有回调

souceMap 每次发现热更新直接打到包里了,生成热更新包 .js.map文件单独摘出来理论上应该是没有问题的吧?

先抽出来再生成热更新的文件就可以

请问一下最终是怎么对接bulgy监听js报错的啊

所以,到底怎么解决?

想要捕获JS异常,需要在接入Android SDK后,再接入Bugly Cocos Plugin
官方文档:
https://bugly.qq.com/docs/user-guide/instruction-manual-plugin-cocos/?v=1.0.0
网上教程:
https://blog.csdn.net/u010799737/article/details/120406785

1赞

17年的SDK,对于现在的Creator还适用?

听我一句,前端99.5%的报错都是空对象引起的,剩下的都是因为死循环。养成在写逻辑的时候,做好空对象判断,游戏崩溃报错率能为0,我们好几个线上项目在接各种SDK之前上线测试时都没有报错崩溃过。

适用,我就在用,那个插件只是一个中间层,你也可以自己写这个中间层

1赞