python 的调试

目录

在spyder中调试本地代码

1】spyder 自带的调试工具

a. 在想暂停的地方打断点

b. 启动调试功能 

c. 指令窗口中显示进入调试过程,在变量窗口中查看调试结果

d. 通过工具栏完成调试流程,退出调试

2】通过pdb包进行调试,实际上spyder已经自带了很方便的断点调试功能,这个包有什么用我自己也搞不懂,但是既然提供了,可以记录下来。

a. 在代码中引入pdb包,并在想打断点的地方添加指令pdb.set_trace()

b. 启动调试

c. 进入调试流程后,通过指令控制调试流程

d. 在pdb调试时候跟打断点调试效果是一样的,也可以访问变量窗口

在 VS code 中使用 SSH 登陆远程服务器调试 python 代码。

a. 像我本身已经连接登陆到了远程

b. 选择对应的编译器

c. 剩余的操作就跟本地调试一模一样了


在spyder中调试本地代码

1】spyder 自带的调试工具

a. 在想暂停的地方打断点

b. 启动调试功能 

c. 指令窗口中显示进入调试过程,在变量窗口中查看调试结果

d. 通过工具栏完成调试流程,退出调试

2】通过pdb包进行调试,实际上spyder已经自带了很方便的断点调试功能,这个包有什么用我自己也搞不懂,但是既然提供了,可以记录下来。

a. 在代码中引入pdb包,并在想打断点的地方添加指令pdb.set_trace()

import pdb

a = 1
print('hello world')

pdb.set_trace()
a = a + 1
print('hello country')


pdb.set_trace()
a = a + 1
print('hello provence')

b. 启动调试

c. 进入调试流程后,通过指令控制调试流程

pdb 支持的指令

d. 在pdb调试时候跟打断点调试效果是一样的,也可以访问变量窗口

在 VS code 中使用 SSH 登陆远程服务器调试 python 代码。

之前一直不能理解为什么登陆远程服务器后,点击工具栏里run跟在命令窗口中使用指令运行程序,跑出来的结果会不一样,本来以为run中调用的是本地编译器,命令窗口中连接的是远程编译器,再往深了想也觉得不合理,一个编辑软件里面怎么会远程编译器跟本地编译器同时连上了呢?现在才搞明白,在使用工具栏里的run的功能时候,连接的也是远程的编译器,不过远程上可能同时后很多个编译环境,用户需要指定对应的编译环境才行。而指令窗口中,编译器的选择是通过指令指定的,但是这个指定的命令又影响不到工具栏里run用到的编译器,相当于两个编译路线是并行的,虽然都是连接的远程,但是相互之间并不影响。

搞明白了这个关系,远程调试代码跟本地调试代码的操作就基本上一样了,只需要在开始的时候指定正确的编译器就行。

a. 像我本身已经连接登陆到了远程

b. 选择对应的编译器

c. 剩余的操作就跟本地调试一模一样了

在程序中设置断点

从工具栏debug中开始debug

查看变量值

退出调试

Guess you like

Origin blog.csdn.net/ljl86400/article/details/121439886