【python】来学学debugger吧,不能只会用print调试呀!

作者: 码农高天分类: 计算机技术 发布时间: 2023-04-07 18:30:00 浏览:61892 次

【python】来学学debugger吧,不能只会用print调试呀!

ToKu麻:
他明明有百万播放的流量密码还坚持发这个,我哭死

【回复】他一开始开源的超流弊的框架就是VizTracer
两相宜42:
真的还有人在用pdb调试吗[笑哭]为啥不用pycharm或vs的debug,能涵盖pdb所有功能,还有UI界面

【回复】有一些必要的应用场景,比如到实际部署程序的服务器上debug,这类服务器很可能没有图形界面并且肯定不会安装ide啥的。自己电脑就随便了,不过有时候随便写的小程序想debug的话直接就命令行一把梭了,ide都懒得开
【回复】因为在没有ui的情况下,terminal里面只能用这类工具[脱单doge]
【回复】回复 @his1nightmare :有没可能,只要有sshd就能用vscode
harrisliupsn:
感谢高up,总结一下上面还有个人的一些需求,如果有时间的话可以继续讨论的主题有: 条件断点 日志断点 在别的文件加断点 多线程调试(这个在vscode感觉很难控制,不知道用pdb/ipdb怎么样) 然后我觉得up可以介绍一下和viztracer有没有什么结合的用法

【回复】确实!刚也想问条件断点[微笑]
柯罗krau:
谁说我只会print,我还会用日志库输出[doge]

【回复】那我还会用选择性注释呢[doge]
【回复】真正上大型项目的时候,牛逼的日志系统才是yyds。遇事不决pdb/gdb的只能说刚入门
srde11:
还有事后调试,python -i 程序挂掉之后,可以知道哪里挂掉了

Yo1kos:
pdb就是不太现代化了,每次n一下还得l一下太累了,如果能改进成llbd那种现代点的cli debugger就好了,也不支持用户进行自定义拓展。。。

【回复】回复 @Yun4ry :alias nl n;;l nl
【回复】+1,像Git有提供Tig和LazyGit这样的终端UI界面,如果pdb有其他类似的扩展工具能够提供终端TUI效果,那就太棒了。
【回复】回复 @晨曦の奇迹 :pudb,试一下
ShygoKamiko:
我选择vscode自带的debugger,功能清晰,比这个好用[脱单doge]

【回复】回复 @Alwin阿布 :vsc啊不是vs,vsc的Python不用配,插件一键安装
【回复】回复 @BoyInTheSun :vs的更不用配
【回复】回复 @Alwin阿布 :现在vs的python不是傻瓜式的么,直接用的呀
Brian_Cui:
每次看你的视频vs code左下角都没有更新[doge][doge][doge]

淳帅二代:
这么好的视频,这三个点没讲真是可惜呀: ignore bpnumber 【count】 condition bpnumber 【condition】 commands 【bpnumber】 对应指定次数中断、条件中断、中断后执行命令。

galiLikeLike:
总结命令如下 在代码中加breakpoint()进入pdb 1.p 变量 作用打印变量 2.w 查看调用堆栈 3.l 查看当前附近函数代码 4. l.回到当前行数 5.ll 查看当前函数 6.u 向上运行 7.d 向下运行 8.n 运行下一行 9.s 查看当前调用函数 10.retval 查看返回值 11.until 行号 跳某一行运行 12.return 调到返回值那一行 13.c 正常运行 14.python -m pdb py文件 调试某一个py文件 15.b 行数 在某一行设置断点 16.q 退出 17.clear 编号 清空具体某个断点

she35:
pdb有没有像pycharm那样debug体验和ipython一样?pycharm的调试是最舒服的,vscode差很多。

奇姬再现:
基于log的debug和基于pdb的debug适用场景是不同的,在合适的场景使用合适的方式可以使效率翻倍,反之是事倍功半。

【回复】有些场景是py作为扩展脚本,跑在某个框架上的,并且该框架还是异步的,此时再pdb就显得不好用了。
挑战士力架:
在neovim上配置了dap,Python的adapter是debugpy,还是挺方便的,不过用的最多的还是print[喜极而泣]

姬野星奏ちゃん:
我试着用-m pdb启动web项目 发现给多个代码打断点后,只有启动文件引用的代码才会进断点,页面交互和request请求设置断点的方法 好像都不会被断点拦截,pdb没法作用于web项目嘛

【回复】远程每次调试要么备库 要么去服务器改代码打log好痛苦[2233娘_郁闷]
小鸡咩咩咩咩:
gdb有watch命令,在变量改变的时候断点,如果pdb也有就好了

科技 计算机 学习 程序员 编程 计算机技术 调试 python 编程开发 pdb

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!