zoukankan      html  css  js  c++  java
  • 【AMAD】stackprint -- 为Python加入利于调试的traceback信息

    简介

    为Python加入利于调试的traceback信息。

    动机

    Python抛出异常时,会显示一些traceback信息。但是,一些时候这些信息并没有很多作用,不足以让你确定问题出现的原因。

    这也是你大多数时候使用debugger的原因,你需要知道哪些代码运行,相关的变量当时是什么值...

    作用

    stackprint1并不是sentry2这种完整的错误监控系统,它只是为Python提供一个改良版的crash信息。

    作者说,有时候他会使用这个工具来代替debugger。但是大多数时候,这个工具的作用是代码在别处运行,异常只会被记录到错误日志中的时候,可以帮助稍后判断问题原因。

    而且,可以为traceback信息加入彩色。

    用法

    • 可以为你整个Python替换traceback方式.

    • 可以将单个项目的python traceback全局替换.

      比如在项目的__init__.py中调用set_excepthook()

      import stackprint
      stackprint.set_excepthook(style='color')
      
    • 可以指定的异常设置.

      except块中调用show()format()

      try:
          something()
      except:
      # 捕获当前的异常,打印traceback到stderr
      stackprint.show()
      # ...将traceback转换成字符串
      traceback = stackprint.format()
      logger.error(traceback)

    热度分析

    这个Repo的首个commit日期是2018.9.2。截止到2019.5.2日,这个Repo获得了695star, 15fork.

    源码分析

    这个库的源代码满满的C风格,很多的函数定义。实现的原理应该是应用了编译原理,tokenize之类的,以我现在的水平很难看懂。

    个人评分

    类型评分
    实用性 ⭐️⭐️⭐️⭐️
    易用性 ⭐️⭐️⭐️⭐️
    有趣性 ⭐️⭐️⭐️
    代码质量 ⭐️⭐️⭐️⭐️
  • 相关阅读:
    [DP] Rod-cutting problem
    Dynamic Programming (DP) 问题总结
    [CC150] 八皇后问题
    [cc150] 硬币问题
    [cc150] 括号问题
    [CC150] Get all permutations of a string
    让Eclipse使用新版本的JRE
    Java中的数组问题
    慎用递归!
    cocos2d-x 添加背景音乐和音效-SimpleAudioEngine
  • 原文地址:https://www.cnblogs.com/thomaszdxsn/p/AMADstackprint--weiPython-jia-ru-li-yu-diao-shi-de.html
Copyright © 2011-2022 走看看