Skip to content
This repository has been archived by the owner on Jul 30, 2020. It is now read-only.
Jacob Dufault edited this page Jan 18, 2018 · 43 revisions

>>>> 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.

Diagnostics

Dump JSON requests and responses

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:

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