跳转到主要内容

带有更精确位置信息的traceback

项目描述

CI status PyPI Installs Supported Python Versions

loctraceback

想要更精确地看到您在traceback或callstack中的位置或曾经的位置吗?即使代码是在运行时使用例如evalexec创建的,或者没有可找到的源代码呢?

那么这个包就是为您准备的。

此模块可以解歧的一些代码示例

i / j / k                              # which divide?
prev[prev[0]]                          # which prev ?
[e[0] for i in d[j] if got[i] == e[i]] # lots going on here
exec(some_code % 10, namespace)        # code at runtime

example中运行代码给出的某些示例输出

除法示例

Traceback (most recent call last):
  File "tb-div.py", line 9, in <module> at offset 52
    a / b / c
    a / b / c
      -
ZeroDivisionError: float division by zero

列表推导式示例

File "tb-comp.py", line 9, in <listcomp> at offset 18
    [e[0] for i in d[j] if got[i] == e[i]]
return [ e[0] for i in .0 if got[i] == e[i] ]
                             ------
IndexError: list index out of range

exec示例

Traceback (most recent call last):
 File "tb-exec.py", line 11, in <module> at offset 39
    exec(s)
    exec(s)
    -------
  File "<string>", line 4, in <module> at offset 18
  z = x / y
        -
  ZeroDivisionError: division by zero

调用堆栈中隔离函数示例

File "call-fib.py", line 8, in fib at offset 58
  return fib(n-1) + fib(n-2)
  return fib(n - 1) + fib(n - 2)
                      ----------
    File "call-fib.py", line 10, in <module> at offset 54
         print("fib({})={}".format(2, fib(2)))
                                      ------

此模块通过添加片段分解信息,扩展了Python 3.6 API traceback模块,以提供更精确的位置信息。

尽管API来自Python 3.6,但代码可以在3.3或更高版本上运行。将代码反向移植到其他Python版本留给读者作为练习。

有关此技术背后的信息的幻灯片,请参阅这些

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包的信息

源分布

loctraceback-1.1.1.tar.gz (24.3 kB 查看散列值)

上传时间

构建分布

loctraceback-1.1.1-py37-none-any.whl (12.8 kB 查看散列值)

上传时间 Python 3.7

loctraceback-1.1.1-py35-none-any.whl (12.8 kB 查看散列值)

上传时间 Python 3.5

loctraceback-1.1.1-py34-none-any.whl (12.8 kB 查看散列值)

上传时间 Python 3.4

loctraceback-1.1.1-py33-none-any.whl (14.8 kB 查看散列值)

上传时间 Python 3.3

loctraceback-1.1.1-py3.8.egg (25.5 kB 查看散列值)

上传时间

loctraceback-1.1.1-py3.7.egg (25.4 kB 查看散列值)

上传时间

loctraceback-1.1.1-py3.6.egg (25.4 kB 查看散列值)

上传时间

loctraceback-1.1.1-py3.5.egg (25.8 kB 查看散列值)

上传时间

loctraceback-1.1.1-py3.4.egg (25.9 kB 查看散列值)

上传时间

loctraceback-1.1.1-py3.3.egg (26.1 kB 查看散列值)

上传时间

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF 赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面