Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a debugging/troubleshooting guide #233

Open
abingham opened this issue Nov 17, 2015 · 1 comment
Open

Create a debugging/troubleshooting guide #233

abingham opened this issue Nov 17, 2015 · 1 comment

Comments

@abingham
Copy link
Owner

A nice guide explaining the basic troubleshooting steps would be very helpful. Things like:

  • Make sure you have the latest server and client
  • Look for suspicious things in *ycmd-server*
  • Enable logging and look at the output.
    osv...
@renewagner
Copy link

A few more suggestions for troubleshooting hints I originally brought up in #466:

  • Incorrect flags passed to ycmd/libclang are one of the most common sources of completion failures or ycmd issures in general .
  • libclang lacks a default include search path although all Clang command line tools do have one. Thus, even if code compiles fine when passing the user-specified flags to clang on the command line it may not compile with libclang due to missing include search path entries. These can be obtained by parsing clang or gcc output and passed on to ycmd/libclang via .ycm_extra_conf.py. An example of such functionality can be found in the LoadSystemIncludes() function from the emacs-ycmd test suite.
  • Users should verify that the flags listed in ycmd-show-debug-info exactly match their expectations. Particulary, that all system include paths are present.
  • Instead of the vim command :YcmDiags one can install flycheck and flycheck-ycmd to receive diagnostics (compiler error and warning messages) from ycmd. Many configuration errors will become apparent this way. E.g., if there are undefined types although the corresponding #include directive is present this is a strong indication that the include search path passed to ycmd is incomplete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants