当前位置:首页>安卓APP>聊一聊安卓aosp16的桌面kotlin代码crash问题一些探索思考

聊一聊安卓aosp16的桌面kotlin代码crash问题一些探索思考

  • 2026-07-02 06:19:53
聊一聊安卓aosp16的桌面kotlin代码crash问题一些探索思考
接上一篇文章:
安卓aosp16的桌面Launcher原生自带2个crash问题分析汇总
第二个crash问题,本文进行相关的探索交流,大家有更好的准确定位方法记得留言交流。

日志报错:

05-27 09:40:30.734  1381  1381 E AndroidRuntime: Caused by: kotlin.UninitializedPropertyAccessException: Recents dependencies are not initialized. Call `RecentsDependencies.maybeInitialize` before using this container.
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.recents.di.RecentsDependencies$Companion.getInstance(RecentsDependencies.kt:297)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.TaskView.<init>(TaskView.kt:2285)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.TaskView.<init>(TaskView.kt:129)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.TaskView.<init>(Unknown Source:17)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  ... 43 more

报错核心:

Caused by: kotlin.UninitializedPropertyAccessException: Recents dependencies are not initialized. Call `RecentsDependencies.maybeInitialize` before using this container.

明显就是调用getInstance时候抛出异常,那么到底哪里调用的getInstance呢? 就是如下代码。

packages/apps/Launcher3/quickstep/src/com/android/quickstep/recents/di/RecentsDependencies.kt

inline fun <reified T> RecentsDependencies.Companion.get(
    scope: Any = "",
    extras: RecentsDependenciesExtras = RecentsDependenciesExtras(),
    noinline factory: ((extras: RecentsDependenciesExtras) -> T)? = null,
): T {
return getInstance().inject(scope.toScopeId(), extras, factory)
}

可以看出这里是kotlin的伴生对象(Companion Object)‌ 和 ‌扩展函数(Extension Function)‌。 总结上面定义调用方法为:

RecentsDependencies.get(context)

所以只需要找到RecentsDependencies.get(context)掉地方就是crash源头。 不过调用这个RecentsDependencies.get(context)地方比较多,具体是哪里调用的呢?

虽然地方crash可能已经通过代码找到了大概,但是其实我们还是不清楚具体哪一行代码报错的,不过可以简单打一下日志或者屏蔽等就准确定位了,这里还好调用地方就这个一点点,如果代码中很多地方都调用呢?还能用这种方法排查么。

最重要的是本身就是一个crash问题,而且系统也有完整堆栈,难道真的无法像java代码crash一样简单进行行号排查?

可以看看报错堆栈

at com.android.quickstep.views.TaskView.<init>(TaskView.kt:2285)
at com.android.quickstep.views.TaskView.<init>(TaskView.kt:129)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at 

大家可能会说直接TaskView.kt:2285这一行看不就行了,可是很遗憾源码根本没有这一行。

那么也有好些同学也提出了相关方案,比如反编译等来查看,我们分别来尝试一下。

报错日志准确定位代码

05-27 09:40:30.734  1381  1381 E AndroidRuntime: FATAL EXCEPTION: main
05-27 09:40:30.734  1381  1381 E AndroidRuntime: Process: com.android.launcher3, PID: 1381
05-27 09:40:30.734  1381  1381 E AndroidRuntime: android.view.InflateException: Binary XML file line #18 in com.android.launcher3:layout/task: Binary XML file line #18 in com.android.launcher3:layout/task: Error inflating class <unknown>
05-27 09:40:30.734  1381  1381 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #18 in com.android.launcher3:layout/task: Error inflating class <unknown>
05-27 09:40:30.734  1381  1381 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at java.lang.reflect.Constructor.newInstance0(Native Method)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.view.LayoutInflater.createView(LayoutInflater.java:743)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:895)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:850)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.view.LayoutInflater.inflate(LayoutInflater.java:544)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.view.LayoutInflater.inflate(LayoutInflater.java:462)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.launcher3.util.ViewPool.inflateNewView(ViewPool.java:104)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.launcher3.util.ViewPool.getView(ViewPool.java:99)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.RecentsView.getTaskViewFromPool(RecentsView.java:2950)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.RecentsView.showCurrentTask(RecentsView.java:3172)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.RecentsView.onGestureAnimationStart(RecentsView.java:3012)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.LauncherRecentsView.onGestureAnimationStart(LauncherRecentsView.java:254)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.AbsSwipeUpHandler.notifyGestureAnimationStartToRecents(AbsSwipeUpHandler.java:801)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.AbsSwipeUpHandler.setupRecentsViewUi(AbsSwipeUpHandler.java:781)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.AbsSwipeUpHandler.onActivityInit(AbsSwipeUpHandler.java:656)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.AbsSwipeUpHandler$$ExternalSyntheticLambda59.test(D8$$SyntheticClass:0)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.LauncherActivityInterface.lambda$createActivityInitListener$0(LauncherActivityInterface.java:140)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.LauncherActivityInterface$$ExternalSyntheticLambda0.test(D8$$SyntheticClass:0)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.util.ContextInitListener.handleInit(ContextInitListener.java:53)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.launcher3.LauncherInitListener.handleInit(LauncherInitListener.java:36)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.launcher3.LauncherInitListener.handleInit(LauncherInitListener.java:22)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.util.ContextInitListener.init(ContextInitListener.java:49)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.launcher3.util.ContextTracker.registerCallback(ContextTracker.java:70)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.util.ContextInitListener.register(ContextInitListener.java:62)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.AbsSwipeUpHandler.initWhenReady(AbsSwipeUpHandler.java:3019)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.inputconsumers.OtherActivityInputConsumer.startTouchTrackingForWindowAnimation(OtherActivityInputConsumer.java:452)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.inputconsumers.OtherActivityInputConsumer.onMotionEvent(OtherActivityInputConsumer.java:262)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.inputconsumers.NavHandleLongPressInputConsumer.onMotionEvent(NavHandleLongPressInputConsumer.java:156)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.TouchInteractionService.onInputEvent(TouchInteractionService.java:1278)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.TouchInteractionService.$r8$lambda$JDK2db7a_ZtzI6D1EJ5hYukunXo(Unknown Source:0)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.TouchInteractionService$$ExternalSyntheticLambda6.onInputEvent(D8$$SyntheticClass:0)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.systemui.shared.system.InputChannelCompat$InputEventReceiver$1.onInputEvent(InputChannelCompat.java:78)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:277)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.os.MessageQueue.nativePollOnce(Native Method)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.os.MessageQueue.nextLegacy(MessageQueue.java:985)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.os.MessageQueue.next(MessageQueue.java:1094)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.os.Looper.loopOnce(Looper.java:197)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.os.Looper.loop(Looper.java:367)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:9287)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at java.lang.reflect.Method.invoke(Native Method)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:566)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
05-27 09:40:30.734  1381  1381 E AndroidRuntime: Caused by: kotlin.UninitializedPropertyAccessException: Recents dependencies are not initialized. Call `RecentsDependencies.maybeInitialize` before using this container.
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.recents.di.RecentsDependencies$Companion.getInstance(RecentsDependencies.kt:297)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.TaskView.<init>(TaskView.kt:2285)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.TaskView.<init>(TaskView.kt:129)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  at com.android.quickstep.views.TaskView.<init>(Unknown Source:17)
05-27 09:40:30.734  1381  1381 E AndroidRuntime:  ... 43 more
^C

反编译可以定位kt的代码么

去除优化

:~/disk_2T/ustc-aosp16/aosp16-r4/packages/apps/Launcher3$ git diff Android.bp
diff --git a/Android.bp b/Android.bp
index c71e8cf2d8..93ef5b3f3c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -628,7 +628,7 @@ android_app {
     static_libs: ["Launcher3QuickStepLib"],
     optimize: {
         proguard_flags_files: [":launcher-proguard-rules"],
-        enabled: true,
+        enabled: false,
         shrink_resources: true,
     },

as工具进行反编译

有人提出,是不是可以使用kotlin代码转java的,是不是就可以直接定位到crash的行数了。

这里大家可以采用 android studio的Tools -> kotlin -> Show kotlin bytecode

我这边采用的是plugin的jar方式进行反编译

# ============================================
# 1. 准备三个东西:JDK 25、Fernflower、.class
# ============================================

# ① JDK 25(AS 的 Fernflower 需要 Java 21+)
  JDK=/home/test/disk_2T/ustc-aosp16/aosp16-r4/prebuilts/jdk/jdk25/linux-x86/bin/java

# ② Fernflower jar(AS 自带的)
  FERNFLOWER=/home/test/Downloads/android-studio-panda2-linux/android-studio/plugins/java-decompiler/lib/java-decompiler.jar

# ③ 从编译产物 JAR 中提取 TaskView.class
  JAR=/home/test/disk_2T/ustc-aosp16/aosp16-r4/out/soong/.intermediates/packages/apps/Launcher3/Launcher3QuickStepLib/android_common/repackaged-jarjar/kotlinc/Launcher3QuickStepLib.jar
  mkdir -p /tmp/fernflower_class
cd /tmp/fernflower_class
  jar xf $JAR com/android/quickstep/views/TaskView.class

# ============================================
# 2. 运行 Fernflower 反编译
# ============================================
  mkdir -p /tmp/fernflower_output

$JDK -cp $FERNFLOWER \
    org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler \
    /tmp/fernflower_class/com/android/quickstep/views/TaskView.class \
    /tmp/fernflower_output

# ============================================
# 3. 查看反编译结果
# ============================================
  ls /tmp/fernflower_output/
# → TaskView.java

  gedit /tmp/fernflower_output/TaskView.java
# 构造函数中 dispatcherProvider 在第 ~399 行

在这里插入图片描述

jadx反编译

使用最新的jadx 1.5.5发现反编译后看2285行,明显也发现不对,和报错的对不上。

在这里插入图片描述

总结: 对于这个Launcher的报错问题,目前是没有找到一种可以直接通过看堆栈就可以直接简单定位到代码的。因为反编译器从不保留原始行号,因为它是工具class文件生成新文件,就像给你提纲和要求让你翻译文章一样会有一定差别,不是还原旧文件。

最后的话

发现kotlin代码反编译成java后,根本也无法和真实的运行的kotlin程序的代码行数进行一一对应上,所以还是比较大的一个痛点问题,真的让我们java中的一个简单crash问题,排查难度和时间代价巨大,当然也有一些比如逆向的同学说这个就是小菜一碟,直接dex中.class中看就行,逆向这块就留给各位学员自己探索哈,有相关更好方法记得留言分享。

更多vip系统开发经典大厂面试题库获取,课程优惠购买成为vip学员进入vip群,积极讨论各种行业难点痛点疑难问题,答疑服务等。

请联系马哥微信:

目前所有专题课程如下:
1、经典fw的入门到精通实战八件套专题
详细课表:
Android Framework开发rom实战合集课表/车载车机手机高级系统开发工程必会技能
重大消息:Hal+perfetto-systrace+SurfaceFlinger合集新专题发布

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-17 14:19:50 HTTP/2.0 GET : https://c.mffb.com.cn/a/490888.html
  2. 运行时间 : 0.177630s [ 吞吐率:5.63req/s ] 内存消耗:4,386.28kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=c9fa7346f49507324f90ea5b32b75758
  1. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/runtime/temp/cefbf809ba1a84190cb04b0cb7abcf79.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/c.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000585s ] mysql:host=127.0.0.1;port=3306;dbname=c_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000754s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.006276s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.003749s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000817s ]
  6. SELECT * FROM `set` [ RunTime:0.000280s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000617s ]
  8. SELECT * FROM `article` WHERE `id` = 490888 LIMIT 1 [ RunTime:0.024742s ]
  9. UPDATE `article` SET `lasttime` = 1784269190 WHERE `id` = 490888 [ RunTime:0.005087s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000305s ]
  11. SELECT * FROM `article` WHERE `id` < 490888 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002278s ]
  12. SELECT * FROM `article` WHERE `id` > 490888 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002510s ]
  13. SELECT * FROM `article` WHERE `id` < 490888 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.013916s ]
  14. SELECT * FROM `article` WHERE `id` < 490888 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.011865s ]
  15. SELECT * FROM `article` WHERE `id` < 490888 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.014540s ]
0.179458s