【Python + VScode】调试 debug 技巧,带参数文件和模块调试

【Python + VScode】 调试技巧,带参数文件和模块调试

    • 引入问题,为什么用IDE?
    • 简单的 debug
    • 带参数或者模块的调试

引入问题,为什么用IDE?

用终端 PDB 调试?那么多命令记不住。

用 print 调试?太臃肿,用还需要删。

推荐用 VS code 做调试,能够高亮阅读代码,在图形上做断点、步进等。
【Python + VScode】调试 debug 技巧,带参数文件和模块调试_第1张图片

简单的 debug

适合不带参数的 debug。

python test.py

【Python + VScode】调试 debug 技巧,带参数文件和模块调试_第2张图片

带参数或者模块的调试

如果有这样的需求,直接在 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__')

【Python + VScode】调试 debug 技巧,带参数文件和模块调试_第3张图片

如果你调试的是模块,你必须在 launch.json修改justMyCode: fasle。这样程序就能进入到第三方模块里面。无论调试模块与否,我都推荐修改 justMyCode
【Python + VScode】调试 debug 技巧,带参数文件和模块调试_第4张图片

你可能感兴趣的:(vscode,编辑器,python)