如何使用YouCompleteMe for Windows调试/调查问题

时间:2015-01-27 18:57:32

标签: windows vim

更新

这个问题寻求工具方面的帮助 - "如何调试我的问题。"在我输入时,没有答案。我最终绊倒了我试图解决的实际问题的解决方案,并提供了解决方案作为答案。

我仍然非常乐意听到关于工具问题的任何答案,如果有人提出可行的答案,我会非常乐意转移复选标记

原始问题

我最初在https://github.com/Valloric/YouCompleteMe向YouCompleteMe https://github.com/Valloric/YouCompleteMe/issues/1345发布了一个问题。它立即关闭,因为没有Windows的官方支持。好的,很好。

我现在要求Stackoverflow社区,希望有人正在搞乱YCM for Windows(有一个"非官方的YCM for Windows"页面,所以必须有人对此进行黑客攻击的东西)。

以下是我打开的问题的原始内容。

如果有人确实有一个有效的答案,那太好了!在这一点上,我正在寻找更多可用于在调试器下运行YCM服务器的程序,以查看它究竟在哪里窒息

  

我试图让YCM在我的Windows 7机器上运行。我有几个   其他与YCM没有问题的XP,Win7,Win8机器。我'已经   尝试使用MinGW,Visual Studio 2010构建支持内容   在目标机器以及我有YCM的其他机器上   工作

     

当我打开Python或C ++文件时,会立即显示一条消息   YCM崩溃了,我应该重启:YcmRestartServer。它   提到我应该设置g:ycm_server_keep_logfiles才能看到   日志消息。我已经这样做了,但我还是没有   logfiles和"设置g:ycm_server_keep_logfiles"消息仍在   出现。

     

我也得到了('连接中止。',错误(10061,'没有连接可以   是因为目标机器主动拒绝了它()))

     

我查看了python \ ycm \ youcompleteme.py并看到了"日志文件   删除"消息因为尝试打开时出现异常而出现   self._server_stderr(IOError)指定的文件。现在我来了   怀疑这是因为服务器实际上从未实现过   足够的启动顺序实际创建标准输出和   stderr文件。

     

我可以采取哪些步骤来调查服务器的原因(?)   无法正常启动。

     

我还有一个模糊的想法,就是阻止了防火墙规则   连接,我查看了Windows防火墙,但没有看到   任何指向localhost连接被阻止的东西   诸如此类的东西。

     

我可以通过调试,欣赏有关的建议   我需要做的程序才能获得Visual Studio 2010   进入服务器进程并解决问题。

     

哦,不知道如果这个事实意味着什么,但我能够使用   Rip-Rip的clang_complete没有问题,但我非常愿意   使用YCM。

1 个答案:

答案 0 :(得分:2)

我从来没有真正得到答案或解决中心问题"如何在Windows下调试YCM"但我确实解决了为什么YCM不能为我工作的根本问题,所以后人(以及其他绝望的YCM用户可能会通过谷歌来到这里)

对我来说,YCM立即崩溃并烧毁。我通过看到一个工作正常的Windows系统开始出现症状来解决问题。

更改:我安装了Python 3.x并将其切换为系统首选python(通过弄乱路径,您对Windows有什么期望?)。

事实证明(duh),YCM依赖于Python 2.x,当它无法找到它试图打开的任何库时,它就会崩溃。

我开始试图准确找到YCM试图访问的文件并在YCM目录中本地提供它们的路径,但在花了五分钟后,我决定我想要更简单的东西。

因为我仍然希望Python 3.x成为'系统'版本,我决定操纵路径 WITHIN Vim,所以我在YCM加载之前添加了这个,

if (has('win32') || has('win64'))
    let $PATH = 'C:\Python27;' . $PATH
endif

希望这能为别人带来一些痛苦