用终端 PDB 调试?那么多命令记不住。
用 print 调试?太臃肿,用还需要删。
推荐用 VS code 做调试,能够高亮阅读代码,在图形上做断点、步进等。
适合不带参数的 debug。
python test.py
如果有这样的需求,直接在 GUI 上运行调试将会失败。
python test.py 4 5
python -m mymodule.test 4 5
一种方法是改变 launch.json
,把参数或者模块的信息加入其中。
太难了,我学不会。
另一种方法,我推荐使用代理文件。创建debugProxy.py
托管你需要调试的命令。
# debugProxy.py
import os, sys, runpy
## 1. cd WORKDIR
# os.chdir('WORKDIR')
## 2A. python test.py 4 5
args = 'python test.py 4 5'
## 2B. python -m mymodule.test 4 5
args = 'python -m mymodule.test 4 5'
args = args.split()
if args[0] == 'python':
"""pop up the first in the args"""
args.pop(0)
if args[0] == '-m':
"""pop up the first in the args"""
args.pop(0)
fun = runpy.run_module
else:
fun = runpy.run_path
sys.argv.extend(args[1:])
fun(args[0], run_name='__main__')
如果你调试的是模块,你必须在 launch.json
修改justMyCode: fasle
。这样程序就能进入到第三方模块里面。无论调试模块与否,我都推荐修改 justMyCode
。