当前位置:首页>Linux>为什么 Linux 程序一崩溃,大佬第一时间都会打开 GDB?

为什么 Linux 程序一崩溃,大佬第一时间都会打开 GDB?

  • 2026-08-18 23:10:37
为什么 Linux 程序一崩溃,大佬第一时间都会打开 GDB?

文章目录

  • 概要&序論
  • 一、 磨刀不误砍柴工:环境配置与模式切换
    • 1.1 调试的前置条件:Debug vs Release
    • 1.2 开启调试大门的钥匙:-g 选项
    • 1.3 深度探究:如何证明文件可调试?
  • 二、 GDB 核心指令:掌控程序的“生命周期”
    • 2.1 启动与退出
    • 2.2 源码查看(list)
    • 2.3 断点管理(Breakpoint)
      • 2.3.1 打断点的方法
      • 2.3.2 查看、删除与使能
      • 2.4.2 栈帧回溯
    • 2.5 执行流控制:从逐语句到跨越式
    • 2.6 变量监视与数据查看
      • 2.6.1 基础打印与批量查看
      • 2.6.2 实时监视(常显示)
    • 2.7 进阶执行流控制:until 指令
  • 三、 GDB/CGDB 调试高阶技巧
    • 3.1 CGDB 的安装与高效使用
      • 3.1.1 安装方式
      • 3.1.2 窗口交互与模式切换
      • 3.1.3 同步显示优势
    • 3.2 变量监视:watch 指令
    • 3.3 动态修改程序状态:set var
    • 3.4 条件断点(Conditional Breakpoints)
      • 3.4.1 方式一:新建断点时直接附加条件
      • 3.4.2 方式二:为已有断点追加/修改条件
    • 3.5 指令快捷操作补充
    • 3.6完整速查:GDB 常用调试命令全汇总

概要&序論

Hello大家好我是此方,这是一份为开发者准备的 GDB 极简行动指南。本文剔除冗长的理论,直接聚焦最常用、最有效的调试指令。从启动程序、附加进程到查看寄存器状态,以表格化和案例化的方式,助你快速建立起高效的调试工作流。好,我们开始。

一、 磨刀不误砍柴工:环境配置与模式切换

1.1 调试的前置条件:Debug vs Release

  在 Linux 下,默认编译生成的二进制文件通常是 Release 模式。这种模式下,编译器会对代码进行优化并剔除符号表,导致 GDB 无法关联到源代码。

  • Release:
     追求运行效率,不可调试。
  • Debug:
     包含调试信息,体积稍大,允许逐行跟踪。

1.2 开启调试大门的钥匙:-g 选项

  使用 gcc 或 g++ 时,必须显式加上 -g 参数以包含调试信息。

  • 如果你在命令行手动编译:
     直接在编译指令中加入该选项即可。
 gcc -g main.c -o processbar
  • 如果你在 Makefile 中自动化编译:
     通常将 -g 定义在编译参数变量 CFLAGS 中,这样在执行 make 时,所有生成的目标文件都会自动携带调试符号。
# Makefile 示例片段CC = gccCFLAGS = -g -Wall  # 在这里统一添加 -gprocessbar: main.o    (CFLAGS) -o $@ $^

1.3 深度探究:如何证明文件可调试?

  除了观察文件体积增大外,最专业的方法是使用 readelf 工具查看 ELF 文件格式中的调试段。

# 若输出包含 .debug_info 等字段,说明具备调试条件readelf -S processbar | grep -i debug

二、 GDB 核心指令:掌控程序的“生命周期”

2.1 启动与退出

  • 进入:gdb [bin_file]
    (bin_file 为编译好的可执行程序)。
  • 离开:
     输入 quit 或使用 Ctrl + d

2.2 源码查看(list)

在调试前,我们需要先看到代码。使用 list 指令可以查看源文件内容。

  • l (list):
     默认列出当前执行行附近的源码。
  • l + 行号:
     从指定的行号开始向上/向下打印代码。
  • l + 文件名:行号:
     在多文件工程中,查看指定文件的特定行。
  • l + 函数名:
     直接跳转到指定函数的起始位置。

技巧: 配合回车键使用,GDB 会自动翻页展示接下来的代码全貌。

2.3 断点管理(Breakpoint)

  断点是调试的灵魂,它让程序在指定的时刻“定格”。

2.3.1 打断点的方法

  • b 行号:
     在当前文件的指定行设置断点(如:b 10)。
  • b 函数名:
     在函数入口处设置断点(如:b main 或 b Sum)。
  • b 文件名:行号:
     在多文件调试中,给指定文件打断点(如:b mycode.c:20)。

避坑指南: 注意不要写成 b main:20 这种错误格式。GDB 会将其识别为在 main 函数处打断点,并忽略后面的行号。

2.3.2 查看、删除与使能

  • info b:
     列出所有断点及其详细信息。 
    • Num (编号):
       标识断点的 ID。
    • Enb (Enable):
       断点的“使能”状态(y 为启用,n 为禁用)。
  • d 编号:
     删除指定编号的断点(如:d 2)。
  • disable 编号:
     禁用断点。断点位置保留,但程序运行到此处不会停止。
  • enable 编号:
     重新启用断点。(断点禁用,与不禁用的意义就是断点位置的意义

核心逻辑: 在 GDB 中,只有打断点时需要行号;一旦断点生成,后续所有的操作(删除、禁用、使能)都必须使用断点编号

注意: > 1. 断点编号在单次调试会话中是依次递增的。如果你删除了 2 号断点再新建,新断点编号将是 4(假设之前已有 3)。 2. 如果想让断点编号从 1 重新开始,需要退出重进 GDB。

2.4.2 栈帧回溯

  • bt (backtrace):
     查看当前调用堆栈的栈帧。这能让你清晰地看到当前函数是被哪个函数调用的,以及传递的参数值。这在处理递归程序或多层嵌套调用时极其有用。

2.5 执行流控制:从逐语句到跨越式

  • r (run):
     运行程序。停在第一个触发的断点处。
  • n (next):
     逐过程执行(F10)。
  • s (step):
     逐语句执行(F11)。
  • c (continue):
     继续运行。跳过当前停顿,跑向下一个断点。
  • finish:
     运行直至当前函数返回。 
    • 应用场景:
       当你不小心 s 进了一个无关紧要的库函数或工具函数时,使用 finish 可以直接执行完该函数并跳回调用处。(finish也可以触发断点
    • 深层逻辑:
       如图所示,int n = Sum(start, end) 包含了“调用函数”和“赋值给临时变量”两个动作。finish 结束后会停在当前行,等待完成最后的赋值赋值动作。

2.6 变量监视与数据查看

  在调试过程中,实时掌握变量的变化是定位 Bug 的关键。

2.6.1 基础打印与批量查看

  • p (print) 表达式/变量: 临时打印变量值或计算表达式结果,例如:p n 或 p 1+1+2

  • info locals: 一键查看当前函数栈帧内所有被定义的局部变量及其当前值,无需手动逐个打印。

2.6.2 实时监视(常显示)

  • display 变量名:
     开启常显示模式。设置后,每执行一步(n 或 s),GDB 都会在屏幕上固定打印该数据及其地址的实时信息,相当于“监视”功能。
  • undisplay 编号:
     关闭常显示。注意此处必须指定 display 指令生成的对应标号而非变量名。

2.7 进阶执行流控制:until 指令

  当面对较长循环且不便设置断点时,until 是极佳的选择。

  • until 行号:
     直接跑完当前位置到目标行之间的所有代码(包括循环体),并跳转到指定的第 xx 行停止。它能实现“局部跨越式”跳转,极大提高调试效率。

三、 GDB/CGDB 调试高阶技巧

3.1 CGDB 的安装与高效使用

  CGDB 是 GDB 的一个轻量级前端界面,它最大的优点是提供了一个代码实时显示窗口。它通过语法高亮和分屏设计,让我们能够像在 IDE 中一样直观地看到当前程序的运行位置。

3.1.1 安装方式

  • Ubuntu:sudo apt-get install -y cgdb
  • CentOS:sudo yum install -y cgdb

3.1.2 窗口交互与模式切换

CGDB 将终端分为上下两部分:上方为代码窗口下方为 GDB 指令窗口

  • Esc (进入代码模式):
     焦点切换到上方代码窗口。 
    • 此时可使用 Vim 快捷键(如 jkud)进行翻页和浏览。
    • 支持 / 进行关键字搜索代码。
    • 支持空格键快捷打断点/取消断点。
  • i (进入指令模式):
     焦点切换到下方指令窗口,进行标准的 GDB 命令输入。

3.1.3 同步显示优势

  • 高亮跟踪:
     调试过程中,代码窗口会实时用箭头和高亮色显示当前执行到的行。
  • 告别 list:
     极大解决了原生 GDB 需要频繁使用 list 指令来确认上下文的痛点,调试效率成倍提升。
  • 多文件支持:
     在跨文件调试时,CGDB 会根据执行流自动切换上方窗口显示的源文件,保持视图与逻辑一致。

3.2 变量监视:watch 指令

   如果你有⼀些变量不应该修改,但是你怀疑它修改导致了问题,你可以watch它,如果变化了,就会通知你.

  • 用法:watch [变量名/表达式]
  • 原理:
     当被监视的变量值发生变化时,程序会自动暂停执行,并打印出“旧值”与“新值”。
  • 区别:
     * display 是每走一步打印一次值。 
    • watch
       是只有值变了才停下来提醒你。

3.3 动态修改程序状态:set var

  在调试时,如果你想跳过某个错误分支,或者测试特定数值下的程序反应,无需修改代码重新编译。

  • 用法:set var [变量名]=[值]
  • 应用场景:
     当程序运行到 if(n == 0) 处,你可以通过 set var n=1 强制程序进入 else 分支,从而验证不同逻辑路径的正确性。

3.4 条件断点(Conditional Breakpoints)

  在处理大型循环或频繁调用的函数时,普通断点会让程序因停顿过于频繁而失去调试意义。条件断点允许我们设定一个过滤规则,仅当满足特定逻辑时,程序才会触发中断。

3.4.1 方式一:新建断点时直接附加条件

这是最常用的方式,在打断点的同时通过 if 关键字声明触发条件。

  • 设置方法:b [行号/函数名] if [条件表达式]
  • 示例:b 15 if i == 50
  • 效果:
     当程序执行到第 15 行时,GDB 会自动计算变量 i 的值。只有当 i 等于 50 时,程序才会停下来;否则直接跳过,极大地提高了在成千上万次循环中定位特定错误的能力。

3.4.2 方式二:为已有断点追加/修改条件

如果你已经设置了一个普通断点,但发现它停顿太频繁,可以使用 condition 指令将其转化为条件断点,或修改其现有条件。

  • 设置方法:condition [断点编号] [条件表达式]
  • 操作步骤:
    1. 通过 info b 查看目标断点的编号(假设为 2 号)。
    2. 输入 condition 2 i == 100
  • 效果:
     2 号断点从此生效的前提变为了 i == 100
  • 取消条件:
     如果只想恢复为普通断点,输入 condition [断点编号](不加任何条件)即可清除该断点的限制规则。

3.5 指令快捷操作补充

  • Tab 自动补全:
     在 GDB/CGDB 中输入指令前缀(如 dis)后按 Tab 键,可以快速列出所有匹配的指令(如 disabledisplay),有效防止拼写错误。
  • 回车记忆功能:
     直接按下回车键会重复执行上一条指令,在进行连续的逐过程(n)或源码翻页(l)时可以大幅减少输入工作量。

3.6完整速查:GDB 常用调试命令全汇总

命令
简写
含义及功能描述
listl
显示源代码。默认列出 10 行,继续按回车可翻页查看后续代码
list [n]l [n]
显示从第 n 行开始的源代码
list [func]l [func]
显示函数名为 func 的源代码
runr
开始运行程序(若有断点则停在第一个断点处)
nextn逐过程
调试。单步执行,如果遇到函数调用,不进入函数内部
steps逐语句
调试。单步执行,如果遇到函数调用,则进入函数内部
break [n]b [n]
在第 n 行设置断点
break [func]b [func]
在函数 func 的起始处设置断点
break [file]:[n]b [file]:[n]
在指定源文件 file 的第 n 行设置断点
info breaki b
查看当前已设置的所有断点信息(包括编号、状态、地址等)
delete [num]d [num]
删除断点。num 为断点的编号(通过 info break 查看)
disable [num]dis [num]
禁用指定编号的断点,断点位置保留但不触发
enable [num]ena [num]
启用指定编号的断点
print [expr]p [expr]
打印表达式或变量的值
display [var]display常显示
变量。设置后每一步执行都会自动打印该变量的值
undisplay [id]undisplay
取消指定标号的追踪显示(注意:此处使用 display 产生的编号)
until [n]u [n]
运行程序直到指定的第 n 行停下(常用于跳出循环)
finishfinish
执行直到当前函数返回。运行完当前函数,停在调用点之后
continuec
继续执行程序,直到遇到下一个断点或程序结束
set var [v]=[val]set var
在调试过程中动态修改变量 v 的值为 val
backtracebt
查看当前的函数调用堆栈(栈帧回溯)
info localsi locals
查看当前函数栈帧中所有局部变量的值
watch [var]watch
设置监视点。当变量 var 的值发生变化时,程序自动停下
quitq
退出 GDB 调试
(Enter)-
直接回车:重复执行上一条指令
(Tab)-
连按两次 Tab 键:指令自动补全或列出候选指令

好的本期内容就到这里,如果对你有帮助,还不要忘记点赞三联支持。我是此方,我们下期再见。bye!

___Linux第一阶段,结束___

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-22 00:03:28 HTTP/2.0 GET : https://f.mffb.com.cn/a/505103.html
  2. 运行时间 : 0.266864s [ 吞吐率:3.75req/s ] 内存消耗:4,504.48kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=17219d8a41394ace9994ba9358688de8
  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.000696s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001140s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.002640s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.004805s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001065s ]
  6. SELECT * FROM `set` [ RunTime:0.001923s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001100s ]
  8. SELECT * FROM `article` WHERE `id` = 505103 LIMIT 1 [ RunTime:0.030324s ]
  9. UPDATE `article` SET `lasttime` = 1787328208 WHERE `id` = 505103 [ RunTime:0.013071s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000481s ]
  11. SELECT * FROM `article` WHERE `id` < 505103 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000889s ]
  12. SELECT * FROM `article` WHERE `id` > 505103 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000738s ]
  13. SELECT * FROM `article` WHERE `id` < 505103 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.034634s ]
  14. SELECT * FROM `article` WHERE `id` < 505103 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.026167s ]
  15. SELECT * FROM `article` WHERE `id` < 505103 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.033757s ]
0.269361s