Как отлаживать код C в Visual Studio code

#c #debugging #visual-studio-code

#c #отладка #visual-studio-code

Вопрос:

Если я должен скомпилировать свой код в терминале, я бы сделал:

 cc -std=c99 -Wall -Werror ....
  

Если я должен запустить свой код в терминале, я бы сделал:

 ./testprogram text.txt 1000 1000
  

Числа и текстовый файл важны для программы.

Надеюсь, это дает некоторое представление о версии c, которую я использую, и о том, как выполнить мою программу. Теперь: как вы отлаживаете это с помощью Visual Studio code? Я установил расширение c / c .

Каждый раз, когда я пытаюсь запустить debug, он просит меня выбрать между двумя средами: c (GDB / LLDB) c (Windows). Моя первая проблема заключается в том, что ни один из этих двух вариантов не является простым c, но, возможно, я просто не знаю лучше, и особой разницы нет. Тем не менее, я выбираю одну из сред, обычно первую, затем меня просят выбрать между: двумя активными файлами сборки и отладки gcc-9, одним активным файлом сборки и отладки gcc и конфигурацией по умолчанию. Обычно я выбираю конфигурацию по умолчанию, и это приводит меня на страницу launch.json. Я поместил в свой каталог программы: «$ {workspaceFolder}/testprogram.c» и ошибка.. :

Не удается начать отладку. Строка параметров запуска, предоставленная системой проекта, недопустима. Не удается определить путь к отладчику. Пожалуйста, укажите параметр «MIDebuggerPath».

Ничто из того, что я пробовал до сих пор, или какие-либо поиски в Google не помогли, поэтому, надеюсь, кто-то с большим опытом сможет помочь здесь. Заранее спасибо.

Комментарии:

1.предлагаю: загрузить / установить gdb для Windows, затем (из командной строки) скомпилировать вашу программу, включая опцию: -ggdb3 . Затем (после исправления любых предупреждений / ошибок компиляции) gdb --args testprogram text.txt 1000 1000 br main установить первую точку торможения в function: main() затем r , чтобы запустить программу, используйте n для обхода вызовов функций. используйте s для выполнения программы в один шаг. используйте ‘p` для отображения переменных dbg manual

2. @user3629249 да, в настоящее время я просто gdb, использование графического отладчика было бы приятным, но неважно, что gdb сейчас работает нормально

3. Я не знаю, ddd доступно ли для Windows, но это графический интерфейс, который реализует gdb