当前位置:首页>python>Python pdb调试器——强大的命令行调试工具

Python pdb调试器——强大的命令行调试工具

  • 2026-07-02 03:57:20
Python pdb调试器——强大的命令行调试工具

一、什么是pdb?

pdb(Python Debugger) 是 Python 标准库自带的命令行调试器。它允许你单步执行代码、设置断点、检查变量值、查看调用栈等,是排查复杂问题的利器。

import pdb

defdivide(a, b):
    pdb.set_trace()  # 程序会在此处暂停
    result = a / b
return result

divide(102)

二、为什么需要pdb?

特性
print调试
pdb调试
需要修改代码
✅(但可远程/命令行触发)
查看变量值
需手动加print
✅ 交互式查看
单步执行
条件断点
查看调用栈
运行时修改代码
✅(有限)

适用场景

  • • 问题难以复现,需要交互式探索
  • • 需要跟踪程序执行流程
  • • 需要检查特定条件下的程序状态
  • • 复杂逻辑调试

三、启动pdb的方式

3.1 在代码中插入断点(最常用)

import pdb

defbuggy_function(x):
    pdb.set_trace()  # 程序在此处暂停
    y = x * 2
    z = y + 10
return z

buggy_function(5)

3.2 命令行启动(-m pdb)

# 运行脚本并进入调试模式
python -m pdb my_script.py

3.3 异常时自动进入(-i 选项)

# 程序抛出异常时自动进入pdb
python -i my_script.py

3.4 Python 3.7+ 使用 breakpoint()

# Python 3.7+ 推荐使用
breakpoint()  # 等价于 pdb.set_trace()

四、pdb常用命令

4.1 基本控制命令

命令
简写
说明
steps
单步执行,进入函数内部
nextn
单步执行,不进入函数
returnr
继续执行直到当前函数返回
continuec
继续执行直到下一个断点
untilunt
执行到下一行(跳过循环)
quitq
退出调试器

4.2 查看信息命令

命令
简写
说明
listl
显示当前代码上下文
print <expr>p
打印表达式值
pp <expr>pp
美化打印
whatis <expr>
-
显示变量类型
argsa
显示当前函数参数
wherew
显示当前调用栈
upu
向上移动栈帧
downd
向下移动栈帧

4.3 断点管理命令

命令
简写
说明
break <lineno>b
在当前文件行设置断点
break <func>b
在函数入口设置断点
break <file>:<lineno>b
在其他文件设置断点
breakb
列出所有断点
condition <num> <expr>cond
给断点添加条件
clear <num>cl
删除断点
disable <num>disable
禁用断点
enable <num>enable
启用断点
tbreaktb
临时断点(触发一次后自动删除)

4.4 其他命令

命令
简写
说明
helph
显示帮助
!<python>!
执行Python语句
interact
-
进入交互式Python解释器
run
-
重新启动程序
alias
-
创建命令别名
!!
直接执行Python代码

五、实战示例

5.1 基本调试流程

defcalculate_average(numbers):
    total = sum(numbers)
    count = len(numbers)
    average = total / count
return average

defprocess_data(data):
    result = []
for item in data:
if item > 0:
            result.append(item)
return result

defmain():
    data = [10, -520, -315]
    filtered = process_data(data)
    avg = calculate_average(filtered)
print(f"结果: {avg}")

if __name__ == "__main__":
import pdb; pdb.set_trace()
    main()

调试会话示例

> test.py(23)main()
-> main()
(Pdb) s                     # 单步进入
> test.py(15)main()
-> data = [10, -5, 20, -3, 15]
(Pdb) n                     # 执行下一行
> test.py(16)main()
-> filtered = process_data(data)
(Pdb) s                     # 进入process_data函数
> test.py(9)process_data()
-> result = []
(Pdb) n
> test.py(10)process_data()
-> for item in data:
(Pdb) p data                # 打印data变量
[10, -5, 20, -3, 15]
(Pdb) b 11                  # 在第11行设置断点
Breakpoint 1 at test.py:11
(Pdb) c                     # 继续执行
> test.py(11)process_data()
-> if item > 0:
(Pdb) p item                # 打印当前item
10
(Pdb) n
> test.py(12)process_data()
-> result.append(item)
(Pdb) !result.append(item)  # 手动执行语句
(Pdb) n
> test.py(10)process_data()
-> for item in data:
(Pdb) c                     # 继续执行到下一个断点

5.2 条件断点

deffind_first_duplicate(lst):
    seen = set()
for i, item inenumerate(lst):
# 在第15行设置条件断点:当重复时暂停
if item in seen:
return item
        seen.add(item)
returnNone

lst = [12345367]
import pdb; pdb.set_trace()
result = find_first_duplicate(lst)

设置条件断点

(Pdb) b 6, item == 3        # 当item等于3时在第6行暂停
Breakpoint 1 at test.py:6
(Pdb) c                     # 继续执行
> test.py(6)find_first_duplicate()
-> if item in seen:
(Pdb) p item                # 打印变量值
3
(Pdb) pp locals()           # 打印所有局部变量

5.3 递归函数调试

deffactorial(n):
if n <= 1:
return1
return n * factorial(n - 1)

import pdb; pdb.set_trace()
print(factorial(5))

调试递归

> test.py(9)<module>()
-> print(factorial(5))
(Pdb) s                     # 单步进入
> test.py(2)factorial()
-> def factorial(n):
(Pdb) s
> test.py(3)factorial()
-> if n <= 1:
(Pdb) n
> test.py(6)factorial()
-> return n * factorial(n - 1)
(Pdb) p n
5
(Pdb) s                     # 进入下一层递归
> test.py(3)factorial()
-> if n <= 1:
(Pdb) w                     # 查看调用栈
  test.py(10)factorial()
-> return n * factorial(n - 1)
  test.py(10)factorial()
-> return n * factorial(n - 1)
  test.py(10)factorial()
-> return n * factorial(n - 1)
  test.py(10)factorial()
-> return n * factorial(n - 1)
  test.py(10)factorial()
-> return n * factorial(n - 1)
> test.py(6)factorial()
-> return n * factorial(n - 1)
(Pdb) u                     # 向上移动栈帧
> test.py(10)factorial()
-> return n * factorial(n - 1)
(Pdb) p n                   # 查看该层的n值
4

六、高级技巧

6.1 调试装饰器

import pdb
from functools import wraps

defdebug_decorator(func):
    @wraps(func)
defwrapper(*args, **kwargs):
print(f"调用 {func.__name__}")
# 可以直接在装饰器中添加断点
breakpoint()
return func(*args, **kwargs)
return wrapper

@debug_decorator
defcalculate(x, y):
return x + y

calculate(1020)

6.2 使用命令文件

# 创建 commands.pdb 文件
# break 15
# condition 1 item == 'error'
# continue
# 使用命令文件启动调试
python -m pdb -c commands.pdb my_script.py

6.3 别名创建

# 在pdb中创建别名
(Pdb) alias pv !print(f"{'='*20}\n{locals()}\n{'='*20}")
(Pdb) pv  # 使用别名打印所有局部变量

6.4 远程调试

import pdb
import socket
import sys

classRemotePdb(pdb.Pdb):
def__init__(self, port=4444, host='localhost'):
self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self._socket.bind((host, port))
self._socket.listen(1)
print(f"等待连接 {host}:{port}")
        client, addr = self._socket.accept()
        sys.stdin = client.makefile('r')
        sys.stdout = client.makefile('w')
        pdb.Pdb.__init__(self, stdin=sys.stdin, stdout=sys.stdout)

defshutdown(self):
self._socket.close()

# 使用方法
defremote_debug():
    RemotePdb().set_trace()
print("程序继续执行")
# 其他代码

七、常见问题及解决

7.1 在循环中调试

defprocess_multiple_items(items):
for i, item inenumerate(items):
# 设置条件断点,只在特定迭代暂停
import pdb; pdb.set_trace() if i == 5elseNone
        process_item(item)

7.2 使用 breakpoint() 兼容不同环境

# 可以通过环境变量控制调试行为
import os
if os.environ.get('DEBUG'):
breakpoint()  # 仅在调试模式下暂停

7.3 跳过模块代码

# 使用`skip`参数跳过特定模块
import pdb
pdb.set_trace(skip=['my_module.*'])

八、pdb vs 其他调试工具

工具
类型
优点
缺点
pdb
命令行
无处不在,轻量
交互不便
ipdb
命令行(增强)
语法高亮,Tab补全
需安装
pudb
图形(终端)
可视化界面
依赖较多
IDE调试器
图形(PyCharm/VSCode)
功能强大
依赖IDE

使用ipdb(推荐替代)

pip install ipdb
import ipdb; ipdb.set_trace()  # 支持Tab补全和语法高亮

九、pdb调试技巧总结

常用工作流

  1. 1. 在可疑位置设置断点:breakpoint() 或 pdb.set_trace()
  2. 2. 运行程序,停在断点处
  3. 3. 查看变量:p variable_name
  4. 4. 单步执行:n(不进入函数)或 s(进入函数)
  5. 5. 设置条件断点:b lineno, condition
  6. 6. 查看调用栈:w
  7. 7. 继续执行:c 或 until

常用快捷键

  • • n - 下一步
  • • s - 单步进入
  • • c - 继续
  • • l - 显示代码
  • • p - 打印变量
  • • q - 退出
  • • h - 帮助

十、总结

核心要点

  • • pdb 是 Python 标准库内置的命令行调试器。
  • • 使用 breakpoint() 或 pdb.set_trace() 在代码中设置断点。
  • • 支持单步执行、查看变量、设置条件断点、调用栈分析等功能。
  • • 常用命令:n(next), s(step), c(continue), p(print), b(break), w(where)。
  • • 适用于复杂问题的交互式排查,是开发者的必备工具。

最佳实践

  1. 1. 优先使用 breakpoint() 而非 pdb.set_trace()
  2. 2. 复杂条件使用条件断点而非手动检查
  3. 3. 结合 print 和 logging 形成完整调试策略
  4. 4. 调试完成后及时移除断点

掌握 pdb 可以让你的调试效率大幅提升,尤其是在无法使用 IDE 或需要远程调试的场景中,它是不可或缺的工具。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 19:21:20 HTTP/2.0 GET : https://f.mffb.com.cn/a/491418.html
  2. 运行时间 : 0.320302s [ 吞吐率:3.12req/s ] 内存消耗:4,575.45kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=2e9662a6eb60af612154e15d80b7973a
  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.000421s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000675s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.008266s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000838s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000566s ]
  6. SELECT * FROM `set` [ RunTime:0.005210s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000726s ]
  8. SELECT * FROM `article` WHERE `id` = 491418 LIMIT 1 [ RunTime:0.007619s ]
  9. UPDATE `article` SET `lasttime` = 1783077680 WHERE `id` = 491418 [ RunTime:0.003021s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000755s ]
  11. SELECT * FROM `article` WHERE `id` < 491418 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.008314s ]
  12. SELECT * FROM `article` WHERE `id` > 491418 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.041646s ]
  13. SELECT * FROM `article` WHERE `id` < 491418 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.050338s ]
  14. SELECT * FROM `article` WHERE `id` < 491418 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.039471s ]
  15. SELECT * FROM `article` WHERE `id` < 491418 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.055861s ]
0.323507s