Qt Creator Clang Code Model: Difference between revisions
Jump to navigation
Jump to search
m (Make terminal commands easier to copy&paste) |
No edit summary |
||
Line 30: | Line 30: | ||
Note that libclang/clangbackend will crash afterwards, so do not forget to switch back to a sane warning configuration. | Note that libclang/clangbackend will crash afterwards, so do not forget to switch back to a sane warning configuration. | ||
== Related Environment Variables == | |||
=== Build related === | |||
* QTC_NO_CLANG_LIBTOOLING - Do not build against Clang's C++ libs; the ClangRefactoring plugin won't be build. | |||
=== Run time related === | |||
* LIBCLANG_TIMING - Timings from libclang for parse / reparse / preamble generation / completion. | |||
* QTC_CLANG_NO_SUPPORTIVE_TRANSLATIONUNIT - Use only one translation unit per document. | |||
* QTC_CLANG_NO_ALIVE_TIMER - Simplifies debugging in certain cases. | |||
* QTC_CLANG_FORCE_VERBOSE_ALIVE - Simplifies debugging in certain cases. |
Revision as of 08:56, 7 June 2017
Documentation: http://doc.qt.io/qtcreator/creator-clang-codemodel.html
Debugging
With the following invocation debugging output will be generated:
Linux/Mac:
export QT_LOGGING_RULES=qtc.clang*=true export LIBCLANG_TIMING=1 ./qtcreator
Windows (start DebugView in advance to see the output):
set QT_LOGGING_RULES=qtc.clang*=true set LIBCLANG_TIMING=1 qtcreator.exe
The debugging output contains among others:
- The IPC messages send/received
- Output of libclang while parsing
Internal command line
The debugging output from above will contain all the command line options that are passed on to libclang, which is enough for most cases.
However, to see also the resulting internal command line of libclang run:
- Switch to projects mode and there to the "Clang Code Model"
- Copy some warning configuration by clicking on "Copy...", give it a name like "Debug"
- Replace all the options from the copied configuration with "-###"
- Close and re-open the editor document - the new debugging output will contain also the internal command line
Note that libclang/clangbackend will crash afterwards, so do not forget to switch back to a sane warning configuration.
Related Environment Variables
- QTC_NO_CLANG_LIBTOOLING - Do not build against Clang's C++ libs; the ClangRefactoring plugin won't be build.
- LIBCLANG_TIMING - Timings from libclang for parse / reparse / preamble generation / completion.
- QTC_CLANG_NO_SUPPORTIVE_TRANSLATIONUNIT - Use only one translation unit per document.
- QTC_CLANG_NO_ALIVE_TIMER - Simplifies debugging in certain cases.
- QTC_CLANG_FORCE_VERBOSE_ALIVE - Simplifies debugging in certain cases.