背景:上篇文章我们介绍了怎么搭建相关的环境,文章链接:https://www.cnblogs.com/yahuian/p/10507467.html,这篇文章来介绍怎么调试我们的程序。


1.Debugging in vs code

重要:英文官方文档链接:https://code.visualstudio.com/docs/editor/debugging,我依旧建议你直接看英文文档。

在vs code中debug分为两种,我们来看看官方的描述:

1.built-in debugging support:

VS Code has built-in debugging support for the Node.js runtime and can debug JavaScript, TypeScript, and any other language that gets transpiled to JavaScript.

2.Debugger extensions

For debugging other languages and runtimes (including PHP, Ruby, Go, C#, Python, C++, Powershell and many others), look for Debuggersextensions in our VS Code Marketplace or click on Install Additional Debuggers in the top-level Debug menu.

咱们现在来看看怎么调试我们的python代码。

2.Debugging python in vs code

重要:

1.英文官方快速入门教程:https://code.visualstudio.com/docs/python/python-tutorial#_configure-and-run-the-debugger

2.完整的debug配置教程:https://code.visualstudio.com/docs/python/debugging

我这儿只介绍快速入门教程,完整的教程请参考官方文档,我们首先用vs code打开我们上次的hello项目文件,执行以下操作:

(1)点击左边的debug按钮,会进入一个新的页面

(2)点击左上角的齿轮按钮,系统会自动生成一个launch.json的文件,这个文件就是我们调试的配置文件,当前我们可以不管里面的内容具体表示什么含义。

(3)点击绿色三角形旁边的那个选择框,选择我们刚才生成的那个配置文件(Python: Current File (Integrated Terminal))

至此我们就完成了debug配置文件的设置,刚才的操作如下图所示:

现在你的项目中文件如下:

现在让我们来加断点,将鼠标移动到如下图所示的哪一列位置,你会发现隐约会出现一个小红点,点击那一列的某一行,就可以在相应的哪行加上断点,程序在执行到这行时会停下来,你可以在左边的那一栏看看中间变量的值,以及程序中的某些调用,方便我们分析bug的位置。

当我们添加好断点后,点击左上角的绿色箭头(即下图的一号框),此时程序会在调试模式下运行:在2号框里面你可以控制程序continue,step over,step into,step out,restart,stop。(具体每个按钮的作用是什么,大家试一试就知道了),在3号框里面你会看到当前已经执行过的代码的一些详细情况。

好了,至此你已经学会了简单的调试,如果你想深入的了解launch.json文件中每个字段的具体含义,请自己参考官方文档。下一篇我们讲讲关于python的包管理方式——虚拟环境。


结尾:有同学问我你这用vs code写个python这个麻烦,配这个配哪个,还不如用专业的IDE来的舒服。我以前也是这个想的,但是自从我自己折腾了一趟后我发现有时候IDE把一些东西给你安排的明明白白后,你可能就不会接触到一些和CLI相关的东西,而在你自己折腾的过程中,可能会学到一些新的东西。嘿嘿,磨刀不误砍柴工嘛!

Windows平台下使用vs code来调试python代码(2)的更多相关文章

  1. Windows平台下使用vs code搭建python3环境(1)

    前言:最近几周在使用python开发的过程中,碰到了好多坑,由于以前使用visual studio 2015习惯了,导致刚开始搭建python开发环境以及管理各种包的时候有点不习惯,再加上python ...

  2. Windows平台下如何在C#中调用Python

    最近迷上了Python,发现它能够做很多C#无法完成的事情,比如,调用CMD或者在CMD中执行一个exe文件命令行并获得输出的结果.过程简单,处理起来也非常方便,但如果要用C#调用Python文件呢, ...

  3. windows平台下基于VisualStudio的Clang安装和配置

    LLVM 是一个开源的编译器架构,它已经被成功应用到多个应用领域.Clang是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程 ...

  4. [转]Windows平台下安装Hadoop

    1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...

  5. windows平台下基于QT和OpenCV搭建图像处理平台

        在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...

  6. Windows平台下的内存泄漏检测

    在C/C++中内存泄漏是一个不可避免的问题,很多新手甚至有许多老手也会犯这样的错误,下面说明一下在windows平台下如何检测内存泄漏. 在windows平台下内存泄漏检测的原理大致如下. 1. 在分 ...

  7. 不同WINDOWS平台下磁盘逻辑扇区的直接读写

    不同WINDOWS平台下磁盘逻辑扇区的直接读写 关键字:VWIN32.中断.DeviceIoControl 一.概述 在DOS操作系统下,通过BIOS的INT13.DOS的INT25(绝对读).INT ...

  8. Windows平台下如何使用node.js显示系统盘符

    本文地址: http://www.cnblogs.com/blackmanba/articles/windows-nodejs-show-system-letter.html或者http://fork ...

  9. Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

随机推荐

  1. 用户唯一性验证(ajax)

    验证用户添加或者修改时用户名的唯一性: 验证时机:用户名改变时,表单提交时. 1.jsp页面:(前端) <%@ page contentType="text/html;charset= ...

  2. es6入门5--class类的基本用法

    在ES6之前,准确来说JavaScript语言并无类的概念,却有模拟类的做法.相比在类似java这类传统面向对象语言中通过类来生成实例,js则通过构造函数模拟类来生成实例. 这是因为在JS设计初期,作 ...

  3. java基础第十篇之异常

    1.1接口概念 类:具有相同属性和功能的事物集合 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于 ...

  4. Vue实例生命周期+vueRoter

    Vue实例生命周期 vue生命周期之beforeCreate 实例创建之前除标签外,所有的vue需要的数据,事件都不存在 vue生命周期之created 实例创建之后,data和事件已经被解析到,el ...

  5. Win10+VirtualBox+Openstack Mitaka

    首先VirtualBox安装的话,没有什么可演示的,去官网(https://www.virtualbox.org/wiki/Downloads)下载,或者可以去(https://www.virtual ...

  6. 如何在windows下是用mysqldumpslow命令

    1. 再一次点击mysql安装文件(默认是没安装mysqldumpslow这些脚本的),如图: 点击next如下图 点击Developer Components 旁边的选择this feature , ...

  7. mysql导入sql文件错误#1044 - Access denied for user 'root'@'localhost'

    在我的个人知识管理中,经常用到mysql数据库,wordpress搭建的worklog.搜索测试数据.我blog的测试环境等.我在自己的电脑上整了WAMP(Windows Apache MySQL P ...

  8. 走进docker的世界之入门篇

    by zhouzhipeng from https://blog.zhouzhipeng.com/walk-in-docker-beginning.html本文可全文转载,但需要保留原作者和出处. 什 ...

  9. 【转】LINQ to SQL语句(1)之Where

    Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句. Where操作包括3种形式,分别为简单形 ...

  10. 构造方法,this,super,final,static

    1构造方法 一个Person类,属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方法.但如果需要在创建对象的同时明确对象的属性值,就需要构造方法了. 1.1定义 构建创 ...