-
Notifications
You must be signed in to change notification settings - Fork 163
Home
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.
Dump JSON requests and responses:
sudo sysdig -As999 --unbuffered -p '%evt.type %evt.buffer' "proc.pid=$(pgrep -fn build/app) and fd.type=pipe" | egrep -v '^Content|^$'
Passing the option --log-stdin-stdout-to-stderr
.
Insert volatile static int z=0;while(!z);
for a poor man's breakpoint and run gdb -p $(pgrep -fn cquery)
to attach to the cquery process. p z=1
for continuing.
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