如何使用 gdb 调试 GUI 程序
Posted
技术标签:
【中文标题】如何使用 gdb 调试 GUI 程序【英文标题】:how to use gdb to debug a GUI program 【发布时间】:2016-02-23 20:04:02 【问题描述】:我知道如何调试控制台程序,但是如果程序有 GUI 怎么办? 比如有个Calc图标,我往下推的时候会调用一些方法。 我想知道它会调用什么方法。我有源代码,但不知道哪个文件对应于什么,并且想回溯如果我单击该图标将执行哪些代码。
【问题讨论】:
如果您没有源代码级调试,典型的 GUI 框架将是一场噩梦。获取源代码,(理想情况下,是一个“真正的”IDE 调试器:)。 【参考方案1】:从概念上讲,调试 GUI 应用程序和控制台应用程序之间没有任何区别——它们都归结为过程式编程——某些操作调用特定的函数。动作的触发是您按下 GUI 上的按钮还是在控制台中输入命令都没有区别。您可以对它们都使用调试器(可视化或命令行)。
如果您有源代码,并且知道触发机制是什么,那么应该很容易在源代码中查看触发器调用了哪些函数(例如,不在运行时)。您将问题标记为Qt
,它使用connect
函数将“信号”(事件)连接到其他信号或“插槽”。这本质上是将回调函数与特定事件相关联,因此搜索您的源代码将是一个很好的起点。
【讨论】:
以上是关于如何使用 gdb 调试 GUI 程序的主要内容,如果未能解决你的问题,请参考以下文章