调试urwid应用程序有什么好的选择?

问题描述 投票:4回答:2

我目前的临时方法是记录到文本文件,但这不是很互动。我已经尝试过使用pdb,但这似乎与urwid不相符,pdb一旦遇到断点就不接受任何输入。

python python-3.x debugging pdb urwid
2个回答
3
投票

下面的几个练习...调试urwid很奇怪,在经典意义上不太可能,大多数时候在渲染画布后你不能再真正检查它了。

是什么帮助了我:

  • 将错误路由到文件中。如果你得到例外并希望了解什么,在哪里以及如何,这里给出了很好的实现:https://stackoverflow.com/a/12877023/5058041
  • 真的试着了解你的模块是什么以及你想要如何实现。阅读n+1-time的文档是个好主意。
  • 查看您使用的小部件的实现。通常他们有更多的信息。

我知道这并不算作调试,但它帮助我找到错误或奇怪的行为。


2
投票

我发现自己要做的一件事就是添加一个文本小部件来显示调试消息。

我没有构建很多复杂的应用程序(solitaire game是我用它写的最大的应用程序),所以这种方法已经足够了。

在某些特定情况下,你仍然可以使用PUDB逃脱 - 但由于它也使用了Urwid,它将窃取应用程序的输出。在实践中,从你的应用程序转到pudb(可能是从你的代码添加的pudb.set_trace()断点),然后你将无法回到你的应用程序。

对于更复杂的应用程序,构建“调试模式”可能会很有趣,或者您可以尝试使用remote pudb?还没试过,但它看起来很有用。 =)

© www.soinside.com 2019 - 2024. All rights reserved.