如何在Wxwidgets中调试?

时间:2013-04-29 21:22:27

标签: c++ gdb wxwidgets

我是wxWidgets的新手。到目前为止,对我来说最令人沮丧的是,有时候,在我通过编译之后,尝试运行GUI App,它的行为并不像我设计的那样,我不知道它有什么问题。有人建议我尝试GDB,但我找不到关于如何调试wxWidgets的GDB教程。

我想知道有人可以给我一些链接,或教会我如何做到这一点(主要是关于如何触发事件并停在那里查看并继续运行)。

1 个答案:

答案 0 :(得分:1)

wxWidgets最常见的两个问题似乎是:

  1. 使用sizer时的布局问题。
  2. 事件处理问题。
  3. 尝试用调试器解决(1)是一个坏主意。如果你真的想要,你可以跟踪布局算法,但是如果你已经知道算法是如何工作的,它可能只能运行良好 - 因此首先不太可能出现这样的问题。如果您刚开始使用sizer,最好尝试在某个可视对话框编辑器工具中重新创建布局。

    对于(2),显而易见的建议是在事件处理程序中放置一个断点(请参阅gdb break命令)。至少,这为您提供了一种可靠的方法来检查您的事件处理程序是否被调用。

    否则我真的不认为有任何wxWidgets特定的调试技巧。使用wxWidgets源中包含的misc/gdb/print.py文件中的漂亮打印机很方便,但是你需要有一个支持Python的gdb。