LINUX.ORG.RU

vscode и отладка в cpptools

 , ,


0

1

Попытался делать отладку одного проекта в vscode с использованием расширения cpptools. Но такое впечатление, что он постоянно использует какой-то кэш для gdb. Это проявляется в том, что даже после очистки результатов сборки и полной пересборку всего проекта при отладке используются или выводятся значения, которые уже должны быть другими. А при запуске не из среды vscode результат новый, который должен быть.

Пытался занулить значение кэша для intellisence, но, похоже, что дело не только в нём.

Сталкивался ли кто с подобным и как с этим бороться окромя перезапуска vscode?

★★★★★
Ответ на: комментарий от pon4ik

Собираю make (сгенерировае cmake) локально. Как посредством расширения cmake для vscode или напрямую вызовом make clean && make в терминале.

Проект использует динамические библиотеки с отложенной загрузкой, которые тоже пересобираются этим же cmake скриптом.

grem ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

Этот вопрос снимается, т.к. автор пояснил что происходит при запуске верного бинарника.

Я бы - посмотрел с помощью strace куда ещё бинарник копируется.

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

Надо бы порыться в каталогах vscode. Находил несколько issues, что расширение любит всякие precompiled headers генерить и прочие вещи. Может заодно и библиотеки где хранит и не перезаписывает после их пересборки. Хорошо, если не в памяти. Но отладчик в библиотеках по точкам бегает тоже после указания в cmake цели Debug. Без этого только точки в самом проекте видит.

Вот изменения как раз в этих подгружаемых библиотеках вносятся, после чего всё пересобирается на всякий случай. Затем заново запускается отладчик в vscode.

grem ★★★★★
() автор топика
Ответ на: комментарий от bhfq

Вообще странно, если он его запускает откуда-то ещё, т.к. в настройках launch.json для debug явно указывается путь. Надо бы посмотреть какие там ещё настройки в нём хранятся.

grem ★★★★★
() автор топика
Ответ на: комментарий от grem

А там есть консоль отладчика? Если есть попробуй ручками либы перезагрузить, может они отладчик для экономии не прибивают?

pon4ik ★★★★★
()

Нет ли какого-то вспомогательного процесса, к-рый отвечает за связь с отладчиком? Типа clangd, но с перламутровыми пуговицами? Если есть, то можно попробовать его прибить.

den73 ★★★★★
()
Последнее исправление: den73 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.