【发布时间】:2014-05-17 08:19:59
【问题描述】:
我的项目是一个 Qt GUI 应用程序,其中所有视图都使用 QML,模型和业务逻辑使用 C++。随着项目规模增长到数百个 cpp 和 qml 文件,调试变得越来越困难。 在调试模式下,在 C++ 代码中产生的崩溃很容易找到,因为显示了链接到源代码的堆栈跟踪,但是由于 qml 代码导致的崩溃会产生所有变灰的堆栈跟踪(即,指向 Qt 内部等你看不到的地方qml 文件和产生错误的行)。
你知道怎么做吗?
使用: Mac 上的 C++11、Qt/QML 5.2.0、Qt Creator 3.0(Clang++、LLDB 组合)和 Windows(MinGW g++ 4.8.0)
如果我在 qml 文件中的任何 javascript 函数上设置断点,那么在调试过程中很容易遇到断点,但问题是当应用程序崩溃时,我无法知道哪个 qml 文件/行可以参与了崩溃,所以我不能预先设置断点 - 它应该显示在堆栈跟踪中但它没有(只显示灰色的堆栈跟踪)
【问题讨论】: