-
Notifications
You must be signed in to change notification settings - Fork 162
Home
>>>> Getting started (CLICK HERE) <<<<
For more build instructions. And how to build on Windows, FreeBSD, OpenIndiana!
To tell cquery how to find the source tree in your project, you may create either .cquery
or compile_commands.json
in your project root. .cquery
is easy and useful for simple projects. compile_commands.json
allows for explicit specification of compilation command line for each source file.
You need to set up a language client for your editor to use definition/reference/hover/... and for some advanced cquery features some extension is needed.
Customization of cquery, e.g. indexing comments, using msgpack for cache files.
Pass the command line option --log-stdin-stdout-to-stderr
to the cquery executable. You can find stderr output in:
- LanguageClient-neovim:
/tmp/LanguageServer.log
(default) - Emacs lsp-mode:
*lsp-cquery stderr*
buffer - VSCode: TODO
You can use sysdig on Linux:
sudo sysdig -As999 --unbuffered -p '%evt.type %evt.buffer' "proc.pid=$(pgrep -fn build/app) and fd.type=pipe" | egrep -v '^Content|^$'
Some issues introduce diagnostic methods:
-
https://github.com/jacobdufault/cquery/issues/192
clang_toggleCrashRecovery(0)
beforeclang_indexTranslationUnit
to disable crash recovery and get the stack trace from a debugger.
On Linux, if --log-file
reports indexer.cc:1892 WARN| Indexing /tmp/json/test/src/unit-iterators2.cpp failed with errno=1\nlibclang: crash detected during indexing TU
, consider patching your libclang.so.5.0
or libclang.so.4.0
with the following commands:
% printf '\x4d' | dd of=build/release/lib/clang+llvm-5.0.1-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.5.0 obs=1 seek=$[0x47aece] conv=notrunc
% printf '\x4d' | dd of=build/release/lib/clang+llvm-4.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.4.0 obs=1 seek=$[0x4172b5] conv=notrunc