我目前的临时方法是记录到文本文件,但这不是很互动。我已经尝试过使用pdb,但这似乎与urwid不相符,pdb
一旦遇到断点就不接受任何输入。
下面的几个练习...调试urwid很奇怪,在经典意义上不太可能,大多数时候在渲染画布后你不能再真正检查它了。
是什么帮助了我:
n+1
-time的文档是个好主意。我知道这并不算作调试,但它帮助我找到错误或奇怪的行为。
我发现自己要做的一件事就是添加一个文本小部件来显示调试消息。
我没有构建很多复杂的应用程序(solitaire game是我用它写的最大的应用程序),所以这种方法已经足够了。
在某些特定情况下,你仍然可以使用PUDB逃脱 - 但由于它也使用了Urwid,它将窃取应用程序的输出。在实践中,从你的应用程序转到pudb(可能是从你的代码添加的pudb.set_trace()
断点),然后你将无法回到你的应用程序。
对于更复杂的应用程序,构建“调试模式”可能会很有趣,或者您可以尝试使用remote pudb?还没试过,但它看起来很有用。 =)