Код Visual Studio иногда не загружается

Я не знаю, что его вызывает, но иногда Visual Studio Code просто не запускается в Linux. Это на Ubuntu 17.10, но проблема также присутствовала в Ubuntu 17.04.

Я запускаю VS Code 1.18.1.

Запуск «кода» в терминале дает нулевой вывод, когда это тоже.

Я понятия не имею, где взять отладочные журналы для сбоя, но это появилось сегодня: https://imgur.com/a/FbTn9 (скриншоты репортера ошибок Ubuntu) текст

0
задан 22 November 2017 в 20:21

2 ответа

Это некоторая нечетная обратная трассировка. Я вижу calloc(), который вызывает ... __start_google_malloc()! Сначала я даже думал, что backtrace перевернут, но, наверное, все в порядке. Вероятно, они использовали свою собственную функцию calloc(). В частности, я не вижу там пути к glibc, где находится «общий» calloc().

В любом случае, что я могу сказать вам из обратной линии - авария происходит где-то глубоко в собственном приложении, так что это ошибка в коде VS. Вы можете построить VS Code с помощью отладочных символов, чтобы узнать, что не так, или сообщить об ошибке их github.

Запуск «кода» в терминале дает нулевой вывод, когда это происходит тоже.

Да, это типичный недостаток дизайна для всех электронных приложений, они запускают много процессов без причины и не перенаправляют вывод на stdout / stderr. Если вам повезет, вы можете попытаться подключиться к процессу с помощью gdb и pgrep -f, прежде чем он будет разбит. Это остановит процесс, затем вы можете использовать continue для продолжения; и когда он разбивается, вы можете использовать ls -l /proc/processpid/fd для просмотра всех файлов, открытых debuggee - надеюсь, один из них будет журналом, в этом случае вы увидите символическую ссылку на выходе.

Это интересно хотя Electron основан на Chromium, который также запускает много процессов (у него есть причина, хотя). Но выход терминала в оригинальном Chromium работает! Так и во всех приложениях на основе QtWebEngine (которые также являются основой на основе Chromium). Мне любопытно, как Electron удалось сломать его.

0
ответ дан 18 July 2018 в 02:48

Это некоторая нечетная обратная трассировка. Я вижу calloc(), который вызывает ... __start_google_malloc()! Сначала я даже думал, что backtrace перевернут, но, наверное, все в порядке. Вероятно, они использовали свою собственную функцию calloc(). В частности, я не вижу там пути к glibc, где находится «общий» calloc().

В любом случае, что я могу сказать вам из обратной линии - авария происходит где-то глубоко в собственном приложении, так что это ошибка в коде VS. Вы можете построить VS Code с помощью отладочных символов, чтобы узнать, что не так, или сообщить об ошибке их github.

Запуск «кода» в терминале дает нулевой вывод, когда это происходит тоже.

Да, это типичный недостаток дизайна для всех электронных приложений, они запускают много процессов без причины и не перенаправляют вывод на stdout / stderr. Если вам повезет, вы можете попытаться подключиться к процессу с помощью gdb и pgrep -f, прежде чем он будет разбит. Это остановит процесс, затем вы можете использовать continue для продолжения; и когда он разбивается, вы можете использовать ls -l /proc/processpid/fd для просмотра всех файлов, открытых debuggee - надеюсь, один из них будет журналом, в этом случае вы увидите символическую ссылку на выходе.

Это интересно хотя Electron основан на Chromium, который также запускает много процессов (у него есть причина, хотя). Но выход терминала в оригинальном Chromium работает! Так и во всех приложениях на основе QtWebEngine (которые также являются основой на основе Chromium). Мне любопытно, как Electron удалось сломать его.

0
ответ дан 24 July 2018 в 17:39

Другие вопросы по тегам:

Похожие вопросы: