我不知道是什么原因造成的,但有时 Visual Studio Code 无法在 Linux 上启动。这是在 Ubuntu 17.10 上,但这个问题也存在于 Ubuntu 17.04 中。
我正在运行 VS Code 1.18.1。
当发生这种情况时,在终端中运行“代码”也会产生零输出。
我不知道在哪里可以找到崩溃的调试日志,但是今天出现了这个:https://i.stack.imgur.com/jZDa2.jpg(Ubuntu 错误报告器的截图)强文本
答案1
这是一些奇怪的回溯。我看到了calloc()
哪些调用…… __start_google_malloc()
!起初我甚至认为回溯是颠倒的,但可能没问题。他们可能使用了他们自己的calloc()
函数。特别是我没有看到“公共”所在的 glibc 路径calloc()
。
无论如何,从回溯中我可以告诉你的是——崩溃发生在他们自己的应用程序的某个深处,所以这是 VS Code 中的一个错误。你可以用调试符号构建 VS Code 来自己找出问题所在,或者向他们的 github 报告错误。
当发生这种情况时,在终端中运行“代码”也会产生零输出。
是的,这是所有基于电子的应用程序的典型设计缺陷,它们无缘无故地运行大量进程,并且不将输出重定向到 stdout/stderr。如果你足够幸运,你可以尝试使用 gdb 连接到进程,pgrep -f
在它崩溃之前。它会暂停进程,然后你可以使用它continue
来继续;当它崩溃时,你可以使用它ls -l /proc/processpid/fd
来查看调试器打开的所有文件——希望其中一个是日志,在这种情况下,你会在输出中看到一个符号链接。
有趣的是,Electron 是基于 Chromium 的,它也运行着许多进程(但这是有原因的)。但原始 Chromium 中的终端输出确实有效!所有基于 QtWebEngine 的应用程序中也是如此(这也是一个基于 Chromium 的框架)。我很好奇 Electron 是如何破解它的。