如何准确地找出正在执行的打印位置

时间:2013-06-15 10:10:51

标签: python printing

我正在开发的这个应用程序(基于GUI),有十几个模块。在运行应用程序并使用它时,有一个特殊的操作(单击一个标签),我在stdout上得到了大量的空打印,因此我怀疑应用程序的性能正在受到影响。现在的问题是我无法确切地知道哪个print语句导致了这种情况发生。

我还尝试过:

  • 多缓冲区搜索
  • 评论了我知道将要执行的打印语句,并且遗漏了我几乎100%确定永远不会被执行的语句。周期。

我没有尝试过:

  • pdb(耗时)

任何简单的黑客攻击(不是太难看)都要删除这个打印声明?

2 个答案:

答案 0 :(得分:6)

sys.stdout替换为类似文件,在调用write()方法时将显示回溯。

答案 1 :(得分:0)

无论您何时调用打印例程,都要在打印输出(模块名称+行号)中添加一个小的唯一标题,以标识从中启动打印的位置。