当前位置:首页>Linux>Linux 排障神器:strace命令使用指南

Linux 排障神器:strace命令使用指南

  • 2026-07-06 08:44:56
Linux 排障神器:strace命令使用指南
程序运行慢?找不到配置文件?网络连不上?别猜了,用 strace 看看它到底在干什么——一追便知。

作为 Linux 运维工程师,你一定遇到过这样的场景:

  • 程序启动失败,日志里只有一句 segmentation fault
  • 服务响应变慢,但 CPU 和内存都正常
  • 程序明明应该读取某个配置文件,却报 "No such file or directory"
  • 线上进程莫名卡住,strace 一看,卡在了某个锁上

面对这些「黑盒」问题,strace 就是你透视程序行为的X光机。它能实时追踪程序发起的每一个系统调用,让你看到程序「到底在和内核聊什么」。

今天这篇文章,我们从底层原理实战案例,彻底搞懂 strace。

✦ ✦ ✦

一、先搞清楚:什么是「系统调用」?

要理解 strace,首先要理解系统调用(System Call)

Linux 的设计哲学是:用户程序不能直接访问硬件资源。所有的文件读写、网络通信、进程管理等操作,都必须通过内核来完成。用户程序向内核发起请求的这个「接口」,就是系统调用

类比:
你可以把内核想象成银行柜台,系统调用就是你递给柜员的「业务单」。你不能直接进柜台操作,必须通过窗口提交请求。strace 就是一个「监控摄像头」,把每一张业务单都拍下来给你看。

常见的系统调用包括:

分类
常见系统调用
作用
文件操作
open, read, write, close, stat
文件的打开、读取、写入、关闭、状态查询
网络通信
socket, connect, sendto, recvfrom, bind, listen, accept
建立连接、收发数据
进程管理
fork, execve, exit, wait4, kill
创建/终止进程
内存管理
mmap, brk, munmap, mprotect
内存分配、映射、保护
设备I/O
ioctl, poll, select, epoll
设备控制、I/O多路复用

Linux 内核的系统调用号定义在 arch/x86/entry/syscalls/syscall_64.tbl(x86_64 架构),目前已有 400+ 个系统调用。

二、strace 是什么?为什么能「看到」系统调用?

strace 是一个用户态调试工具,它能跟踪一个进程执行时产生的系统调用,以及进程接收到的信号。

那么问题来了:strace 是怎么做到的?

核心武器:ptrace 系统调用

strace 的底层依赖一个更底层的系统调用——ptrace(Process Trace)。它是 Linux 内核提供给调试器(如 gdb、strace)的「官方后门」。

ptrace 的核心能力:✅ 访问另一个进程的内存空间✅ 读取/修改寄存器状态✅ 控制目标进程的执行(暂停、单步、继续)✅ 在系统调用入口和出口处获得通知

strace 的工作流程

strace 利用 ptrace 完成了一套精密的「夹心饼干」操作:

┌─────────────────────────────────────────────┐│            strace 的追踪流程                  │├─────────────────────────────────────────────┤│                                             ││  ① ptrace(PTRACE_TRACEME, child)           ││     子进程主动请求被追踪                      ││                     ↓                       ││  ② 执行 execve()(系统调用入口)              ││     内核触发 SIGTRAP → strace 收到信号        ││                     ↓                       ││  ③ strace 读取寄存器,获取系统调用号和参数     ││     查询 syscall_64.tbl → 得到调用名          ││                     ↓                       ││  ④ ptrace(PTRACE_SYSCALL) → 让进程继续执行   ││                     ↓                       ││  ⑤ 系统调用返回,再次触发 SIGTRAP             ││     strace 读取返回值,打印一行日志           ││                     ↓                       ││  ⑥ 重复 ④⑤,直到进程退出                     ││                                             │└─────────────────────────────────────────────┘

用一句话总结:strace = ptrace + 系统调用号翻译表。每次系统调用的「进」和「出」都会触发信号,strace 在信号处理函数中读取寄存器信息,翻译成人类可读的格式输出。

一张图看懂用户态与内核态的关系

┌─────────────────────────────────────────────────┐│                 用户空间                         ││                                                 ││   ┌──────────┐          ┌──────────┐            ││   │  目标程序  │          │  strace  │            ││   └────┬─────┘          └────┬─────┘            ││        │                      │                 ││  ┌─────┴─────┐          ptrace│                 ││  │  libc库    │          系统调用│                 ││  └─────┬─────┘                │                 │├────────┼──────────────────────┼─────────────────┤│   ═════╪══════════════════════╪══════ 系统调用界面│├────────┼──────────────────────┼─────────────────┤│                 内核空间                         ││        ↓                      │                 ││   ┌────┴─────┐                │                 ││   │ 系统调用表 │←───────────────┘                 ││   │ sys_read  │                                 ││   │ sys_write │  ...                             ││   └──────────┘                                  ││        ↓                                        ││   ┌──────────┐                                  ││   │ 硬件资源  │                                  ││   └──────────┘                                  │└─────────────────────────────────────────────────┘

三、strace 常用参数速查

strace 的参数很多,但掌握了这几个常用的,就能覆盖 80% 的场景:

参数
说明
使用场景
-e trace=xxx
过滤特定类型的系统调用
只看文件操作 / 网络连接
-p PID
附加到已运行的进程
调试线上服务
-f
跟踪子进程
程序 fork 了子进程
-t / -tt / -ttt
显示时间戳(秒/微秒/Unix时间戳)
分析耗时
-o file
输出到文件
日志量大时避免刷屏
-c
统计汇总
快速看哪类调用最频繁/最慢
-s N
设置字符串截断长度
需要看完整路径/数据时
-T
显示每个调用的耗时
定位慢系统调用
-e read=fd
显示读操作的完整内容
分析网络/管道数据
-e write=fd
显示写操作的完整内容
分析程序输出

💡 参数组合技:-e trace=network -tt -T = 追踪网络调用 + 显示微秒时间戳 + 显示耗时-e trace=file -s 500 = 追踪文件操作 + 显示最多 500 字符-p PID -e signal=none = 附加进程 + 过滤掉信号只看系统调用

四、实战案例:5 个场景让你上手即用

案例 1:程序启动失败——到底在读哪个配置文件?

程序报错 configuration file not found,但你确定文件存在。用 strace 追踪一下:

strace -e trace=open,openat,stat,access ./myapp 2>&1 | grep -i conf

输出:

openat(AT_FDCWD, "/etc/myapp/config.yml", O_RDONLY) = -1 ENOENT (No such file or directory)openat(AT_FDCWD, "/usr/local/etc/myapp/config.yml", O_RDONLY) = -1 ENOENT (No such file or directory)openat(AT_FDCWD, "/home/app/config.yml", O_RDONLY) = 3    ← 成功读到了!

原来程序会按优先级依次查找 3 个路径。虽然你在 /etc 下放了配置文件,但程序真正读的是 /home/app/。一目了然。

案例 2:程序卡住了——到底阻塞在哪?

线上进程突然不响应,CPU 使用率极低,用 strace 附加看一下:

strace -p 12345 -e trace=all -T

输出:

futex(0x7f8b2c001234, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 0, NULL, NULL, 0, FUTEX_BITSET_MATCH_ANY) = 0 <35.892341>

一眼看出:进程卡在了 futex(快速用户互斥锁)上,等待了 35 秒!这说明程序在等待某个锁,很可能是死锁或锁竞争激烈。

案例 3:程序运行慢——时间花在哪了?

用 -c 统计汇总,快速定位瓶颈:

strace -c ./slow-query.sh

输出:

% time     seconds  usecs/call     calls    errors syscall------ ----------- ----------- --------- --------- -------- 68.32    2.150000       53750        40           read 15.78    0.497000          49     10143           epoll_wait  8.45    0.266000          53      5000           write  4.12    0.130000          13     10000           close  1.23    0.039000          39      1000           openat  ...

真相大白:68% 的时间花在了 read 上,且每次 read 平均耗时 53ms。说明是网络读取慢,而不是程序本身逻辑慢。配合 -tt -T 可以进一步定位到具体哪个 fd 读取慢。

案例 4:DNS 解析异常——到底在查什么域名?

strace -e trace=connect,sendto,recvfrom -s 500 -f curl https://api.example.com 2>&1 | grep -v ECONNREFUSED

从输出中可以清晰看到 curl 发起了哪些 DNS 查询、连接了哪个 IP,帮助排查 DNS 劫持或解析错误。

案例 5:权限问题——到底在访问哪个文件?

程序报 Permission denied,但你不知道它在访问什么文件:

strace -e trace=file -f ./myapp 2>&1 | grep -i denied

输出:

openat(AT_FDCWD, "/var/run/nginx.pid", O_WRONLY|O_CREAT|O_TRUNC, 0644) = -1 EACCES (Permission denied)

定位到具体文件和操作模式,修复权限即可。

五、进阶技巧:让 strace 更好用

1. 只看感兴趣的系统调用

# 只看文件操作strace -e trace=file ./myapp# 只看网络操作strace -e trace=network ./myapp# 只看进程管理strace -e trace=process ./myapp# 排除信号相关strace -e signal=none -p PID

2. 配合 grep 精准定位

# 找出所有打开失败的文件strace -e trace=openat -f ./myapp 2>&1 | grep -i "ENOENT\|EACCES"# 找出所有网络连接目标strace -e trace=connect -f ./myapp 2>&1 | grep "sockaddr"# 找出耗时超过 1 秒的系统调用strace -T -p PID 2>&1 | awk -F'<' '{if($2+0 > 1.0) print}'

3. 输出到文件后分析

# 输出到文件(避免刷屏)strace -o /tmp/trace.log -f -tt ./myapp# 分析:统计各系统调用次数awk '{print $NF}' /tmp/trace.log | sort | uniq -c | sort -rn | head -20

4. 追踪正在运行的进程(不重启)

# 找到目标进程pidof nginx# 附加 strace(不影响进程运行)strace -p $(pidof nginx | awk '{print $1}') -e trace=network -T -tt# 按 Ctrl+C 停止追踪,进程继续运行

⚠️ 线上使用注意:strace 会让被追踪进程变慢!ptrace 每次系统调用都会触发两次上下文切换(进入/退出),性能损耗大约 5-15%。生产环境建议:① 仅在排障时短时间使用② 优先用 -e 过滤,避免全量追踪③ 用 -o 输出到文件,避免大量输出影响性能④ 如果需要长期监控,考虑用 bpftrace 或 perf trace

六、strace vs ltrace:别搞混了

很多同学分不清 strace 和 ltrace,一张表说清楚:

对比项
strace
ltrace
追踪对象
系统调用
(内核接口)
库函数调用
(如 printf, malloc)
底层原理
ptrace + syscall 表
PLT/GOT 动态链接拦截
典型用途
排查文件/网络/权限问题
排查内存泄漏、库调用逻辑
开销
中等
较大(函数调用频繁)
使用频率
⭐⭐⭐⭐⭐ 运维必备
⭐⭐⭐ 开发调试偶尔用
一句话总结:
strace 看的是「程序怎么跟内核打交道」,ltrace 看的是「程序怎么调用库函数」。日常排障用 strace 更多。

七、strace 背后的哲学

Linux 的设计哲学中有一条:"Everything is a file"。文件、网络、设备、进程……一切资源都通过文件描述符来操作。而所有的文件操作,最终都收敛到那一组系统调用上。

这意味着:只要你能追踪系统调用,就能还原程序的完整行为轨迹

这就是 strace 的强大之处——它不需要程序的源代码,不需要特殊的编译选项,不需要重新部署。只要能 attach 上去,程序的一切秘密都无所遁形。

✦ ✦ ✦

总结:strace 速记口诀

程序行为看不清,strace 一开全透明ptrace 是原理,信号打断来读取-e 过滤选类型,-p 附加到进程-c 统计看瓶颈,-T 耗时来分析线上慎用别贪心,短时精准是关键

下次遇到程序「不听话」的时候,别急着改代码,先 strace 看看它到底在干什么——也许答案就藏在那一行行系统调用日志里。

延伸阅读:

  • 《Linux 性能优化实战》—— 铁蕾 · 极客时间
  • Brendan Gregg BPF Performance Tools
  • man strace / man ptrace
最后提一句:
如果你想在生产环境做更轻量的系统调用追踪,可以关注 perf trace 和 bpftrace,它们基于 eBPF 实现,性能开销比 strace 小得多,但使用门槛也更高。strace 是入门,也是日常利器;eBPF 是进阶,是性能分析的未来。

— END —

👆 觉得有用?点个「在看」让更多人看到 👇

关注「运维之美」获取更多技术干货

最新文章

随机文章

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