【发布时间】:2021-06-18 15:31:11
【问题描述】:
情况如下:我有一个 python 程序在我做一些不应该崩溃的事情时崩溃。我想自己调试它,所以我不是在寻求它为什么崩溃的帮助,而是我如何按我想要的方式调试它。
我想比较哪些行在工作时按什么顺序执行,而我什么时候做不工作。
我找到了trace module,您可以像这样使用它:
python -m trace -t program.py
它将“在执行时显示行”(打印它们)。但是,我正在制作的程序是 curses 中的开放世界游戏,因此输出变得非常奇怪,因为我的 curses 游戏已经使用了终端,我基本上无法使用它。
所以如果我想使用它,我必须以某种方式将输出写入文件。
如何让它写入文件,或者有其他方法吗?
【问题讨论】:
-
我不知道
trace模块,但是如果你没有找到解决方案,你可以尝试使用logging模块来调试你的程序。 -
看来你的问题和这个很相似:stackoverflow.com/questions/4286693/….
-
@SpaceBurger 我知道日志记录模块,但我想要一个更详细的日志,因为我不知道是什么导致了错误
-
可以理解。如果你还没有解决这个问题;上面的链接建议您修改
trace模块的代码。按照这个想法,您可以将trace模块的print()语句替换为对logging.debug()的调用。logging模块允许您轻松地将消息写入文件,您需要先设置一个记录器或basicConfig,但这应该可以解决问题,而无需从头开始编写您自己的跟踪模块。 -
@SpaceBurger 花了一些时间,但我确实让它工作并给了我想要和需要的输出。需要调试调试器。但是它并没有帮助我解决问题
标签: python python-3.x