python如何在Shell中调试程序崩溃

小编给大家分享一下python如何在Shell中调试程序崩溃,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联是一家专业提供索县企业网站建设,专注与成都网站建设、网站设计、H5开发、小程序制作等业务。10年已为索县众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

在 Shell中调试程序崩溃

如果你是一个拒绝使用 IDE,并在 Vim 或 Emacs 中进行编码的人,那么你可能会遇到这样的情况:拥有在 IDE 中那样的调试器会很有用。

你知道吗?你有一个——只要用python3.8 -i 运行你的程序——一旦你的程序终止了, -i 会启动交互式 shell,在那你可以查看所有的变量和调用函数。整洁,但是使用实际的调试器(pdb )会如何呢?让我们用以下程序

(script.py ):
def func(): 
    return 0 / 0 
 
func()

并使用python3.8 -i script.py运行 脚本:

# Script crashes... 
Traceback (most recent call last): 
  File "script.py", line 4, in  
    func() 
  File "script.py", line 2, in func 
    return 0 / 0 
ZeroDivisionError: division by zero 
>>> import pdb 
>>> pdb.pm()  # Post-mortem debugger 
> script.py(2)func() 
-> return 0 / 0 
(Pdb)

我们看到了崩溃的地方,现在让我们设置一个断点:

def func(): 
    breakpoint()  # import pdb; pdb.set_trace() 
    return 0 / 0 
 
func()

现在再次运行它:

script.py(3)func() 
-> return 0 / 0 
(Pdb)  # we start here 
(Pdb) step 
ZeroDivisionError: division by zero 
> script.py(3)func() 
-> return 0 / 0 
(Pdb)

大多数时候,打印语句和错误信息就足以进行调试,但是有时候,你需要四处摸索,以了解程序内部正在发生的事情。在这些情况下,你可以设置断点,然后程序执行时将在断点处停下,你可以检查程序,例如列出函数参数、表达式求值、列出变量、或如上所示仅作单步执行。

看完了这篇文章,相信你对“python如何在Shell中调试程序崩溃”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

新闻标题:python如何在Shell中调试程序崩溃
网站地址:https://www.cdcxhl.com/article30/ggocso.html

成都网站建设公司_创新互联,为您提供网站改版做网站用户体验外贸建站微信小程序小程序开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营