#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 manual2. @user3629249 да, в настоящее время я просто gdb, использование графического отладчика было бы приятным, но неважно, что gdb сейчас работает нормально
3. Я не знаю,
ddd
доступно ли для Windows, но это графический интерфейс, который реализуетgdb