python-debug

# 添加函数
print # 打印
# 断言:用于判断一个表达式,在表达式条件为 false 的时候触发异常
assert expression [, arguments]
# 上下两种表达式相互等价
if not expression:
    raise AssertionError(arguments)

一、添加函数

二、vscode调试介绍链接

Visual Studio Code 文档

在 Visual Studio Code 中调试

利用launch.json文件带参调试Debugging configurations for Python apps in Visual Studio Code

三、bito ai 插件

四、Logging中的日志

Python实用教程系列——Logging日志模块 - 知乎 (zhihu.com)

五、pdb:python debugger

(一)事前调试

python 调试工具 pdb 的基本用法(Python Debugger)_python pdb-优快云博客

1、非侵入式调试

终端输入:python -m pdb filename.py

输出了当前代码运行的位置,同时等待下一步指令

(Pdb) help

Documented commands (type help <topic>):
========================================
a      cl         debug    help      ll        quit     s        unt
alias  clear      disable  ignore    longlist  r        source   until
args   commands   display  interact  n         restart  step     up
b      condition  down     j         next      return   tbreak   w
break  cont       enable   jump      p         retval   u        whatis
bt     continue   exit     l         pp        run      unalias  where

Miscellaneous help topics:
==========================
exec  pdb

(Pdb)

2、侵入式调试

import pdb
pdb.set_trace()

3、在指定文件的指定位置,break命令设置断点

(1)只有一个py文件:

首先在前面的任意一行设置 pdb.set_trace() ,使得程序停下来。

终端(Pdb)后面输入break line(行数例27)

(2)多个py文件

初始的 pdb.set_trace() 设置在main.py中。

(Pdb)break filename:line

如果初始断点与目标断点不在同一个目录下的文件中,也可以通过相对路径下的文件名设置断点

(二)事后调试

终端python -i test.py  -i 选项可以让程序结束后打开一个交互式shell

程序结束后出现了 >>> 符号,即python调试器

输入import pdb   pdb.pm()

#其中 pdb.pm() 用于程序发生异常导致奔溃后的事后调试,可以跟踪异常程序最后的堆在信息。可以追踪到导致程序奔溃的语句。

详细来源:快速掌握如何用Python debug_python脚本 debug-优快云博客

### 如何使用 PyInstaller 的 Debug 模式进行故障排除 当使用 PyInstaller 遇到问题时,可以启用调试模式来获取更详细的日志信息以便于排查错误。 #### 启用详细输出 通过增加 `--debug` 参数可以在构建过程中获得更多的诊断消息。此参数允许开发者了解 PyInstaller 内部操作的具体情况[^4]。 ```bash pyinstaller --debug your_script.py ``` 这将会显示额外的信息,有助于理解哪里出了错以及为什么会出现这些错误。 #### 查看完整的 traceback 错误信息 如果希望看到更加详尽的异常堆栈跟踪,则应加上 `-v` 或者 `--verbose` 标记: ```bash pyinstaller --debug all -v your_script.py ``` 上述命令不仅启用了所有的调试级别还增加了冗长度设置,从而提供尽可能多的数据用于分析问题所在。 #### 日志文件位置 PyInstaller 还会在临时目录中创建名为 `warn-<name>.txt` 和 `build/<name>/warn-<name>.txt` 的警告记录文件,在遇到困难时查阅这两个地方可能会有所帮助[^1]。 #### 调试隐藏导入依赖关系 有时某些库可能不会被自动检测出来作为隐式的依赖项加入打包过程里去。这时可以通过指定 `--hidden-import` 来手动添加缺失模块并观察是否会解决问题: ```bash pyinstaller --debug --hidden-import=missing_module your_script.py ``` 对于复杂的项目结构或者特定环境下的应用来说,这种方法非常有用[^3]。 #### 测试生成的应用程序 一旦完成了打包工作之后,务必测试最终产物能否正常启动和运行。如果有任何疑问或不确定的地方都可以借助前面提到的方法来进行深入探究[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值