我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

确实,运用断点调试程序相当容易,既快捷又清晰,然而在具体项目构建过程中,时常会碰到诸如在Linux系统下调试程序,缺少专用工具辅助的情况,此时许多人或许会想到在代码中添加日志输出

调试代码时使用断点确实很便捷,操作简便且直观,但在实际项目运作中,常常会碰到一些困境,比如在Linux系统下调试程序,缺乏专用工具辅助时,许多人可能会选择在代码里输出日志信息以帮助排查问题,然而当代码体量庞大,变量数量众多时,通过日志追踪错误源头就会变得异常棘手,因此对于专业的程序员而言,熟练运用pdb进行调试是必不可少的一项技能

以Linux系统中的某个代码片段为例,具体说明如何运用pdb进行调试,必须先导入pdb模块,接着在需要调试的环节插入pdb.(),程序运行时会自动跳转到该调试点,接下来就从这个位置直接开始调试过程

在Linux环境下建立demo.py文档,里面包含以下信息 pdb

def (num):

sum=0

for i in range(num):

sum+=i

sum

if =="":

pdb.()

num=5

sum=(num)

print(sum)2 开始调试代码

通过命令行运行 demo.py 时,能发现一个箭头正对赋值语句,这个箭头说明该语句即将被执行,而箭头指向的地还未被执行

root@ opt

# demo.py

> /opt/demo.py(13)()

-> num=5

(Pdb)

(2)输入小写字母 l 可以查看代码上下文 list:

(Pdb) l

sum

10

11if =="":

12pdb.()

13 ->num=5

14sum=(num)

(sum)

(Pdb)

借助 p xxx 能够显示 xxx 变量的内容,用以确认 xxx 变量此刻的状态,例如此处表明 num 还没有被分配数值

(Pdb) p num

*** : name 'num' is not

(Pdb)

(4)输入 n 执行下一步(next)

(Pdb) n

> /opt/demo.py(14)()

-> sum=(num)

(Pdb) p num

(Pdb)

当输入s时,会进入函数的执行步骤,此时若输入n,则不会触发函数的调用过程,而是直接完成函数调用那行代码的运行,输入s则可以继续在函数内部进行查看

(Pdb) s

--Call--

> /opt/demo.py(3)()

-> def (num):

(Pdb)

(6)此时可以不断的输入n或者p xxx 来调试查看变量

-> def (num):

(Pdb) n

> /opt/demo.py(4)()

-> sum=0

(Pdb) n

> /opt/demo.py(6)()

-> for i in range(num):

(Pdb) n

> /opt/demo.py(7)()

-> sum+=i

(Pdb) n

> /opt/demo.py(6)()

-> for i in range(num):

(Pdb) p sum

(Pdb) n

> /opt/demo.py(7)()

-> sum+=i

(Pdb) n

> /opt/demo.py(6)()

-> for i in range(num):

(Pdb) n

> /opt/demo.py(7)()

-> sum+=i

(Pdb) n

> /opt/demo.py(6)()

-> for i in range(num):

(Pdb) p sum

(Pdb) n

> /opt/demo.py(7)()

-> sum+=i

(Pdb) n

> /opt/demo.py(6)()

-> for i in range(num):

(Pdb) n

> /opt/demo.py(7)()

-> sum+=i

(Pdb) p sum

(Pdb) p i

(Pdb)

若当前觉得该程序已调试得较为完善,但实际运行尚未终止,可键入

r 回到函数调用完成的位置

(Pdb) r

----

> /opt/demo.py(8)()->10

-> sum

(Pdb) p sum

10

(Pdb)

如果此刻觉得调试已经顺利结束,打算停止,可以直接键入字母c,这样就能终止调试过程

(Pdb) c

10

root@ opt

上一篇:----魔法函数///的用法

二维码
扫一扫在手机端查看

本文链接:https://www.by928.com/11208.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线