如何排查循环引用的问题
jscrash报错:XXX is not initialized,大概率是应用代码中存在循环引用。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
ArkTs解决循环引用的方式
2214浏览 • 1回复 待解决
日志里面的appfreeze文件的怎么排查问题所在
1927浏览 • 1回复 待解决
HarmonyOS Swiper循环问题
407浏览 • 1回复 待解决
#鸿蒙通关秘籍#应用程序启动时报错如何排查so加载失败的问题?
15浏览 • 1回复 待解决
在Iap沙箱环境,购买商品失败问题相关原因排查
495浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何排查由于混淆引起的功能异常?
98浏览 • 1回复 待解决
HarmonyOS 线程通信 事件循环问题
335浏览 • 1回复 待解决
Axios与Log循环依赖问题
241浏览 • 1回复 待解决
HarmonyOS资源引用问题
552浏览 • 1回复 待解决
har 包引用报错的问题
384浏览 • 1回复 待解决
HarmonyOS Deveco Studio 如何协助分析import 循环依赖问题
129浏览 • 1回复 待解决
flutter_sound 插件引用问题
472浏览 • 1回复 待解决
HarmonyOS 动态库引用问题
192浏览 • 1回复 待解决
HarmonyOS har包引用so问题
542浏览 • 1回复 待解决
HarmonyOS 多模块相互引用问题
180浏览 • 1回复 待解决
HarmonyOS 引用自定义web的模块问题
821浏览 • 1回复 待解决
View的引用和实例化的一些问题
302浏览 • 1回复 待解决
静态工程引用har问题有哪些?
418浏览 • 1回复 待解决
如何引用非本地目录的HSP
1744浏览 • 1回复 待解决
如何调试引用的外部so
797浏览 • 1回复 待解决
TransitionEffect动画循环播放如何关闭
1839浏览 • 1回复 待解决
是否允许HAR的循环依赖
1988浏览 • 1回复 待解决
引用第三方库的版本自动升级的问题
217浏览 • 1回复 待解决
关于声明的Date数据在页面中无法正确引用的问题?
2898浏览 • 1回复 待解决
HarmonyOS 关于router.pushNamedRoute还要引用对应的类这个问题。
21浏览 • 1回复 待解决
应用可使用ArkTools.checkCircularImport工具进行排查。
工具说明:ArkTools.checkCircularImport(string: OhmUrl,bool ?: flag);
入参一OhmUrl:出现crash报错时,报错栈上会有当前的报错内容所在文件。
入参二flag:(可选参数)开发者如果需要检查代码其它地方是否存在潜在的依赖,则可以输入1,如果不需要则无需输入。
例如:
此时我们需要找到entry/src/main/ets/pages/D.ts 对应编译产物中对应的OhmUrl。
编译产物路径(如果是hap/feature/hsp就是在本模块下编译产物中查找,如果是har包或者三方包就在加载它的hap/feature/hsp下编译产物中查找):
build/default/cache/default/default@CompileArkTS/esmodule/debug/filesInfo.txt。
找到filesInfo.txt文件,搜索报错文件名( 例:ets/pages/D ) , 截取图中esm的分号前,.ts分号后的部分。
开发者可以检查名字是不是bundleName/moduleName/xxx/xxx的形式,路径是不是报错的那个文件。确认无误,该参数就是需要的入参。
工具使用:
该工具是在运行时检测的工具,所以开发者需将代码设计成能走入运行时。
1. 创建一个ts文件(只能是ts文件),并写入代码:
2. 在报错文件的最上层import该ts文件。
3. 编译运行,过滤关键字checkCircularImport, 复现crash操作 ,即可看到报错循环引用环。
如果解了后发生了新的未初始化报错,则要对应替换入参1和import位置,即要重复所有步骤。