Skip to content
This repository was archived by the owner on Apr 25, 2023. It is now read-only.
This repository was archived by the owner on Apr 25, 2023. It is now read-only.

Add some docs on debugging #66

Description

@varungandhi-src

For example, if you have a compile_commands.json which is generating an empty LSIF dump, here is a useful baseline to check first and start delta debugging.


Configuration: clang-11 and lsif-clang from the sourcegraph/lsif-clang Docker image (e78b83931bd2).

Testing with a basic cpp file.

// tmp.cpp
struct C {
	static int doStuff() { return 1; }
};
int main() {
	return C::doStuff();
}

I generated the compilation database as follows: (inside the Docker container with a shell)

clang++-11 -MJ tmp.cc.json tmp.cpp -c -o tmp.o

This generates a single compilation command database entry, which needs to be massaged into the right format.

sed -e ‘1s/^/[\n/’ -e ‘$s/,$/\n]/’ *.cc.json > compile_commands.json 

Pass this to lsif-clang

lsif-clang compile_commands.json

This generates a dump.lsif file with 53 lines, including lines such as

{“id”:17,“type”:“vertex”,“label”:“hoverResult”,“result”:{“contents”:[{“language”:“cpp”,“value”:“int C::doStuff()“}]}}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions