gpt4 book ai didi

c++ - 调试 Qt 信号、插槽和连接

转载 作者:IT老高 更新时间:2023-10-28 22:41:19 25 4
gpt4 key购买 nike

有没有办法查看触发了哪些信号,以及是否有插槽连接到它们?理想情况下,我们希望看到 all 信号,而不仅仅是特定类或方法的信号;例如QSignalSpy只允许我们跟踪特定实例的特定信号。

在我们的应用程序中,我们发现了性能问题,因为信号从不同的组件发出两次。最后,事实证明有一个类的第二个实例应该只存在一次。准确了解发出了哪些信号有助于调试。

信号是通过 QMetaObject::invoke* 调用的,我希望在那里找到一些可以 Hook 的东西,但我没有发现任何明显的东西。

最佳答案

(免责声明,我为 KDAB 工作):KDAB 的 GammaRay tool可以在运行时向您显示对象和连接,而无需任何源更改。它检查元对象表并执行一些代码注入(inject) Hook 来完成这项工作。

关于c++ - 调试 Qt 信号、插槽和连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com