2017-04-05 43 views

回答

2

一些做法不盡人意......調試urwid很古怪,在古典意義上說不太可能,在渲染畫布之後的大部分時間內,您都無法再真正檢查某些東西。

什麼幫助了我:

  • 路由錯誤到一個文件中。如果你有例外情況,想要了解什麼,在哪裏以及如何,在這裏給出了很好的實現:https://stackoverflow.com/a/12877023/5058041
  • 確實試着瞭解你的模塊是什麼以及你想如何實現。閱讀n+1時間的文檔是個不錯的主意。
  • 看看你使用的小部件的實現。通常他們有更多的信息。

我知道這並不算真正的調試,但它幫助我找到錯誤或奇怪的行爲。

1

我發現自己做的一件事是添加一個文本小部件只是爲了顯示調試消息。

我還沒有構建許多複雜的應用程序(solitaire game是我用它寫的最大的應用程序),所以這種方法已經足夠好了。

在某些特定情況下,您仍然可以使用PUDB - 但由於它也使用Urwid,它將竊取應用程序的輸出。實際上,從應用程序轉到pudb後(也許從您的代碼中添加了一個pudb.set_trace()斷點),那麼您將無法返回到您的應用程序。

對於更復雜的應用程序,建立「調試模式」可能很有趣,或者您可以嘗試使用remote pudb?還沒有嘗試過,但它看起來很有用。 =)

相關問題