目录
2】通过pdb包进行调试,实际上spyder已经自带了很方便的断点调试功能,这个包有什么用我自己也搞不懂,但是既然提供了,可以记录下来。
a. 在代码中引入pdb包,并在想打断点的地方添加指令pdb.set_trace()
d. 在pdb调试时候跟打断点调试效果是一样的,也可以访问变量窗口
在 VS code 中使用 SSH 登陆远程服务器调试 python 代码。
在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
查看变量值
退出调试