python已停止工作appcrash_Python如何调试程序崩溃错误

当Python程序因异常崩溃时,可以使用`python3 -i someprogram.py`结合`-i`选项进入交互式shell进行调试。如果无法直接进入shell,可以利用Python的调试器pdb,通过`pdb.pm()`或在代码中插入`pdb.set_trace()`进行调试。此外,插入`print()`语句和`traceback.print_stack()`也能辅助诊断问题。对于复杂的程序,了解如何在函数崩溃后进入调试器至关重要。
摘要由CSDN通过智能技术生成

问题

你的程序崩溃后该怎样去调试它?

解决方案

如果你的程序因为某个异常而崩溃,运行python3 -i someprogram.py可执行简单的调试。 -i 选项可让程序结束后打开一个交互式shell。 然后你就能查看环境,例如,假设你有下面的代码:

# sample.py

def func(n):

return n + 10

func('Hello')

运行 python3 -i sample.py会有类似如下的输出:

bash % python3 -i sample.py

Traceback (most recent call last):

File "sample.py", line 6, in

func('Hello')

File "sample.py", line 4, in func

return n + 10

TypeError: Can't convert 'int' object to str implicitly

>>> func(10)

20

>>>

如果你看不到上面这样的,可以在程序崩溃后打开Python的调试器。例如:

>>> import pdb

>>> pdb.pm()

> sample.py(4)func()

-> return n + 10

(Pdb) w

sample.py(6)()

-> func('Hello')

> sample.py(4)func()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值