乐于分享
好东西不私藏

【硬核干货】MPV播放器源码编译与断点调试保姆级教程(Win/Mac篇)

【硬核干货】MPV播放器源码编译与断点调试保姆级教程(Win/Mac篇)

【硬核干货】MPV播放器全平台源码编译与断点调试保姆级教程(Win/Mac篇)

引言很多音视频开发者在深入研究现代播放器架构、定制专属播放器或者学习高阶 GPU 渲染流水线时,都会将目光投向开源播放器的天花板——MPV。但由于 MPV 强依赖 FFmpeg、libass 以及众多现代图形库,其跨平台编译与断点调试环境的搭建,往往成了劝退新手的“第一只拦路虎”。 本文将从底层原理出发,手把手教你在 Windows 和 macOS 环境下,用最现代、优雅的方式(Meson + Ninja)完成 MPV 源码的编译,并彻底打通 VS Code (Trae) / CLion 的断点调试链路。告别抓瞎,让源码在你面前“一丝不挂”。


    一、 核心原理:我们在编译什么?

    在动手敲命令之前,我们需要先搞懂 MPV 的构建逻辑。现代 MPV 已经全面弃用了老旧的 Waf,拥抱了 Meson + Ninja构建系统。

    1. Meson 的作用:它像是一个“配置翻译官”,负责检测你电脑上有没有装 FFmpeg、libass 等依赖,并生成具体的编译描述文件。
    2. Ninja 的作用:它是真正的“包工头”,根据 Meson 生成的图纸,拉满你的 CPU 核心,极速调用 GCC 或 Clang 把 C 代码变成可执行文件。

    调试的核心配置: 如果想让编译出来的程序支持断点调试,在配置 Meson 时必须加上 -Ddebug=true(保留调试符号)和 -Doptimization=0(关闭代码优化)。关闭优化极其关键,否则编译器为了提速会打乱代码执行顺序,导致你在 VS Code 里打的断点疯狂乱跳,变量值显示为 <optimized out>


    二、 Windows 篇:基于 MSYS2 的原生构建

    在 Windows 下,我们不推荐用 Visual Studio 的 MSVC 工具链,因为 MPV 社区对 GCC/Clang 的支持最好。我们的核心法宝是 MSYS2

    1. 搭建 MSYS2 (MINGW64) 环境

    下载并安装 MSYS2。安装后,务必打开蓝色的 MSYS2 MINGW64终端,这样才能优先使用 64 位原生 Windows 编译器。

    2. 一键安装依赖

    在终端中执行以下命令,把所有音视频、渲染依赖和调试工具(GDB)一次性装齐:

    # 更新软件数据库pacman -Syu# 安装构建工具链与 python (meson 的运行环境)pacman -S --needed mingw-w64-x86_64-toolchain mingw-w64-x86_64-meson mingw-w64-x86_64-ninja git python# 安装 mpv 的灵魂依赖 (解码、字幕、色彩管理、GPU渲染等)pacman -S --needed mingw-w64-x86_64-ffmpeg mingw-w64-x86_64-libass mingw-w64-x86_64-lcms2 mingw-w64-x86_64-libplacebo mingw-w64-x86_64-shaderc mingw-w64-x86_64-spirv-cross mingw-w64-x86_64-luajit# 安装调试器pacman -S --needed mingw-w64-x86_64-gdb

    3. 拉取源码与编译

    git clone https://github.com/mpv-player/mpv.gitcd mpvmkdir build && cd build# 配置 mpv,启用调试构建# 说明:# - --buildtype=debug: 告诉 meson 采用调试预设。# - -Ddebug=true: 强制生成完整的 DWARF 调试符号信息,这是能在断点处看到代码行的前提。# - -Doptimization=0: 相当于 gcc 的 -O0。关闭代码优化非常关键,否则编译器为了提升性能会重新排列代码执行顺序或内联变量,导致断点乱跳、局部变量显示 "<optimized out>"。meson setup --buildtype=debug -Ddebug=true -Doptimization=0 ..# ninja 会并行编译源码。完成后在 build 目录下会生成 mpv.exe。ninja

    编译完成后,build目录下会静静躺着一个带完整调试符号的 mpv.exe

    4. 验证构建是否包含调试信息

    检查生成的二进制文件是否包含调试信息。

    # 如果输出中包含 ".debug_info"、".debug_line" 等字样,说明调试符号已经成功打入 mpv.exe 中。objdump -h mpv.exe | grep debug

    输出结果应该类似:

    $ objdump -h mpv.exe | grep debug 11 .debug_aranges 00003e40  0000000140351000  0000000140351000  0034ca00  2**0 12 .debug_info   0072af95  0000000140355000  0000000140355000  00350a00  2**0 13 .debug_abbrev 00041906  0000000140a80000  0000000140a80000  00a7ba00  2**0 14 .debug_line   000ac4f4  0000000140ac2000  0000000140ac2000  00abd400  2**0 15 .debug_frame  0003f598  0000000140b6f000  0000000140b6f000  00b69a00  2**0 16 .debug_str    00025fc6  0000000140baf000  0000000140baf000  00ba9000  2**0 17 .debug_line_str 00027a97  0000000140bd5000  0000000140bd5000  00bcf000  2**0 18 .debug_loclists 00018087  0000000140bfd000  0000000140bfd000  00bf6c00  2**0 19 .debug_rnglists 0000289c  0000000140c16000  0000000140c16000  00c0ee00  2**0

    5. VS Code 断点调试配置

    在工程根目录新建 .vscode/launch.json重点注意 environment节点,必须把 MinGW 的 bin 目录塞进 PATH 里,否则运行时会因为找不到各种依赖 DLL 而闪退!

    {"version""0.2.0","configurations": [    {"name""Debug mpv (Windows)","type""cppdbg","request""launch","program""${workspaceFolder}/build/mpv.exe","args": ["测试的url"],"stopAtEntry"true// 在 main 函数挂起"cwd""${workspaceFolder}/build","environment": [        {"name""PATH",// 请根据你的实际安装路径替换!"value""D:/DevKit/msys64/mingw64/bin;${env.PATH}"        }      ],"externalConsole"true,"MIMode""gdb",// 请根据你的实际安装路径替换!"miDebuggerPath""D:/DevKit/msys64/mingw64/bin/gdb.exe"    }  ]}

    配置项原理解析:

    • program: 指定要调试的 mpv.exe绝对路径。
    • args: 启动程序时传递的命令行参数,这里通常填你要播放的视频文件路径。
    • stopAtEntry: 设为 true后,调试器会在程序的 main函数入口处自动暂停,非常适合从头跟踪初始化流程。
    • environment这是 Windows 下最容易踩坑的地方!我们编译的 mpv.exe是动态链接的,运行时需要加载 MSYS2 里的几十个 DLL 文件。如果不把 MinGW 的 bin目录加入 PATH,程序会直接报错闪退。
    • miDebuggerPath: 必须明确指定 MSYS2 环境下 GDB 调试器的绝对路径。

    按 F5启动,享受在 Windows 下调试 mpv 源码的快感!


    三、 macOS 篇:丝滑的 Homebrew 工作流

    在苹果生态下,事情变得异常优雅。我们使用 Xcode 提供的 Clang 编译器加上 Homebrew 包管理器。

    1. 环境准备

    打开自带的 Terminal(或 iTerm2):

    # 1. 唤醒苹果原生编译工具链xcode-select --install# 2. 安装基础构建工具brew install meson ninja pkg-config git# 3. 一键拉取 MPV 依赖brew install ffmpeg libass lcms2 libplacebo luajit rubberband zimg libarchive

    2. 编译源码 (注意 Swift 选项)

    git clone https://github.com/mpv-player/mpv.gitcd mpvmkdir build && cd build# macOS 平台的特有配置:需要启用 swift 编译来支持现代 Cocoa UImeson setup --buildtype=debug -Ddebug=true -Doptimization=0 -Dswift-build=enabled -Dmacos-cocoa-cb=enabled ..ninja

    3. 验证构建是否包含调试信息

    macOS 环境下,调试符号通常会保留在 Mach-O 文件中,或生成独立的 .dSYM目录。

    # 检查生成的二进制文件是否包含调试符号 (OSO 记录)nm -pa mpv | grep OSO

    如果终端输出了大量的源文件路径(如 .c或 .o文件),说明调试信息已成功打入。

    4. VS Code 断点调试配置 (CodeLLDB 是神)

    在 macOS 上,请务必在扩展市场安装 **CodeLLDB**,它对苹果系统的 LLDB 封装远好于官方 C++ 扩展。

    .vscode/launch.json配置如下(macOS 下的库路径通常已经被 brew 处理好了,不需要手动塞 PATH):

    {"version""0.2.0","configurations": [    {"name""Debug mpv (macOS)","type""lldb","request""launch","program""${workspaceFolder}/build/mpv","args": ["测试的url"],"cwd""${workspaceFolder}/build","stopOnEntry"true,"terminal""integrated"    }  ]}

    配置项原理解析:

    • type: "lldb": 指定使用 CodeLLDB 扩展,而不是默认的 cppdbg。
    • program: 指向 macOS 下构建出的 mpv可执行文件。
    • stopOnEntry: 作用同 Windows,在 main函数处拦截。
    • (注:macOS 通过 Homebrew 安装的库,编译时通常已经通过 rpath或绝对路径链接好了,所以不需要像 Windows 那样手动配置环境变量来找动态库。)

    💡 附送:CLion 用户的一键调试CLion 现已原生支持 Meson。只需在 CLion 中直接打开 meson.build文件,进入 Settings -> Build, Execution, Deployment -> Meson,将 Build type 设为 debug,并在 Meson options 追加 -Ddebug=true -Doptimization=0。点击右上角绿色的虫子图标,即可直接开启无脑断点调试。


    总结与下一步

    万事开头难,把 MPV 从源码编译起来并在 IDE 中跑通断点,为我们提供了深入探究 MPV 渲染架构的透视镜,这也是掌握硬核音视频底层技术的第一步。

    在后续的文章中,我们将利用搭建好的调试环境,逐步拆解 MPV 从 Demuxer 到 Decoder,再到最终高阶 GPU 渲染流水线的全链路源码,敬请期待!

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