易学智能

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2329|回复: 0

Jupyter notebook接力赛(9)Jupyter notebook调试

[复制链接]

1

主题

20

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2018-9-6 17:05:02 | 显示全部楼层 |阅读模式
Jupyter notebook调试
jupyter的调试是通过python自带的pdb库来实现的。
下面讲一下在notebook中如何进行调试
1.首先需要import pdb
2.然后在import后写入语句:
pdb.set_trace()
这个的作用是输入调试器。
3. 下面以一段简单的代码为例展示几个功能:
打开jupyterhome页面新建一个文件输入以下语句
  1. import pdb
  2. pdb.set_trace()
  3. def sum(a,b):
  4.     c=a+b
  5.     return c
  6. a=1
  7. b=2
  8. c=sum(a,b)
  9. print (c)
复制代码
1.png
4. cntrl+enter运行
进入到如下界面:
2.png
5. 然后在此处输入一系列调试命令,下面先展示所有的命令:
完整命令
简写命令
描述
args
a
打印当前函数的参数
break
b
设置断点
clear
cl
清除断点
condition
设置条件断点
continue
c或者cont
继续运行,知道遇到断点或者脚本结束
disable
禁用断点
enable
启用断点
help
h
查看pdb帮助
ignore
忽略断点
jump
j
跳转到指定行数运行
list
l
列出脚本清单
next
n
执行下条语句,遇到函数不进入其内部
p
p
打印变量值,也可以用print
quit
q
退出 pdb
return
r
一直运行到函数返回
tbreak
设置临时断点,断点只中断一次
step
s
执行下一条语句,遇到函数进入其内部
where
w
查看所在的位置
!
在pdb中执行语句
6. 断点:
输入:b 6
3.png
即在第6行打入断点。
再次输入:b 8,在第8行打入断点。
在打入断点后输入b可以查看当前程序的断点状态:
4.png
Num为断点的序号,Where为断点的位置。
7. continue
输入c后程序会继续执行直到结束或遇到下一个断点:
5.png
8. 查看某些变量的值
输入:p a
6.png
可以看到变量a的值为1
9. 执行下一步(n:
输入n执行下一步,但是若下一步会进入函数内部则不进入。
7.png
10. 执行下一步(s):
stepnext的区别在于他可以执行下一步是函数的语句,进入到函数内部。
8.png
8
11.执行打印函数参数(a:
9.png
至此在jupyter的一些简单调试便讲完了,欢迎大家一起分享jupyter的经验。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易学智能

GMT+8, 2024-12-22 12:52 , Processed in 0.034058 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表