首页 > 编程语言 >vscode设置python代码debug(调试) 与带参数调试

vscode设置python代码debug(调试) 与带参数调试

时间:2023-01-02 12:11:07浏览次数:66  
标签:launch vscode vpdb python json 调试

VScode 官方调试说明:https://code.visualstudio.com/docs/python/debugging#_set-configuration-options

 

一、带参数的 Debug 调试,launch.json 文件创建 来源

1. 新建 py 文件,写入如下代码,代码的作用就是,打印参数。

import sys

if __name__ == "__main__":
    print(sys.argv)

 -

 

 2.点击 Debug 图标,设置 launch.json 文件,并选择对哪种语言设置,这里是python ,选Python File

 

 3. 增加脚本执行参数, -a abc/ -c dd

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Py: p.py",     //调试列表里显示的名字,随意,建议写当前调试的文件名
            "type": "python",               // 语言类型, 默认就可以
            "request": "launch",            // 应答类型, 默认就可以
            "program": "${file}",           // 变量,自动取当前光标所在的文件
            "console": "integratedTerminal",    // 显示控制台,默认用 VScode 自带的,也可以用系统的。
            "justMyCode": true,             // true 只调试当前 py 文件,默认值; false 也调试引用的模块 
            "args": ["-a","abc/", "-c", "dd"]   // 执行脚本的附加参数,默认生成是没有的
        }
    ]
}

  -

 

 

 4. 启动调试。 鼠标要点到 要调试的文件选项卡上。

可以看到,['-a', 'abc/', '-c', 'dd'] 就是我们刚才设置的参数,都能正常传入,并打印出来了。

 

 

  注: 和第一张图代码稍微不一样,修改了只输出参数内容。

 

 

 

 

 

二、用 vpdb 创建 launch.json 文件。 来源

用 vpdb 自动生成,方便,还不容易写错。

1. 安装

pip install vpdb

 

2. 使用。 在命令最前面加上 vpdb 就可以了,直接就会在目录下生成 .vscode/launch.json 文件。

vpdb python p.py -a abc/ -c dd

 - 注:如果之前已经有 launch.json 文件了,内容会追加,不会覆盖之前内容。

 

 

 

 

 

问题:

VScode 调试不能启动,或启动一秒就退出?

答:建议优先 原因一, 因 vscode 插件操作方便。(  1参考、   2解决

  原因一: vscode里python 插件版本问题,可以尝试换几个最新,或更老一些的版本;

  原因二: python 版本不会,可以升级版本试试。

 

标签:launch,vscode,vpdb,python,json,调试
From: https://www.cnblogs.com/wutou/p/17019701.html

相关文章

  • GitHub 上 25 个 Python 学习资源,墙裂推荐!
    “阅读本文大概需要7分钟。”英文:thecarrots根据2020年StackOverflow开发者调查报告,Python是世界上最受欢迎的语言之一,排名仅次于Rust和TypeScript。更令人惊讶的......
  • Python - 情景管理器
    defmy_function():logging.debug('Somedebugdata')logging.error('Errorloghere')logging.debug('Moredebugdata')有这样一个函数,它的默认日志级......
  • 极客编程python入门-多进程
    多进程在Python程序中轻松创建子进程:importosprint('Process(%s)start...'%os.getpid())#OnlyworksonUnix/Linux/Mac:pid=os.fork()ifpid==0:print('Iam......
  • python中如何获取主机的ip和主机名
    使用python中的socket库,可以轻松获取主机ip和主机名。一、获取主机名 importsockethostname=socket.gethostname()print(hostname)#DESKTOP-AAI12V0 ......
  • python中的platform模块
     platform模块给我们提供了很多方法去获取操作系统的信息;importplatformprint(platform.platform())#获取操作系统名称和版本号:macOS-10.14.6-x86_64-i386-64bitpri......
  • A*算法利用不在位数作为评价指标解决八数码问题(python)
    一、  程序设计思想:在一个3*3的方棋盘上放置着1,2,3,4,5,6,7,8总共八个数码,每个数码占一格,且有一个空格。这些数码可以在棋盘上移动,其移动规则是:与空格相邻的数码方......
  • A*算法利用曼哈顿距离作为评价指标解决八数码问题(python)
    1.题目说明在一个3*3的方棋盘上放置着1,2,3,4,5,6,7,8八个数码,每个数码占一格,且有一个空格。这些数码可以在棋盘上移动,其移动规则是:与空格相邻的数码方格可以移入空格......
  • Python3 学习~
    Python3heapq#默认小根堆Heap=[]#初始化为空heapq.heapify(list)#将一个list原地转换为堆,线性时间heapq.heappush(Heap,item)#插入一个元素item,类型随意x......
  • Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
    1.MemcachedMemcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、......
  • python设计模式
    设计模式设计模式中使用了一个接口类abc:AbstractBaseClasses作用:在代码中定义和使用抽象基类进行API检查。​为什么使用abc模块Abstractbaseclasses由一组接口组......