GDB не распознанная команда - командная строка Windows

0

Я пытаюсь использовать GDB для отладки программы C++, но моя система не распознает gdb как команду. Я установил его вместе со многими другими инструментами через MinGW. У меня не было проблем с другими функциями, которые я использовал (gcc, g++), поэтому проблема не связана с моей общей настройкой. Я добавил каталог MinGW\bin в свой PATH. Файл gdb.exe находится в этой папке. Но он не запускается при вызове из моего каталога проекта, это просто ошибки: "" gdb "не распознается как внутренняя или внешняя команда, операционная программа или командный файл". Есть ли какой-то шаг в настройке или вызове, который я пропустил для использования GDB?

EDIT: Хорошо, я думаю, что я нашел проблему: в моей PATH есть две директории MinGW, одна в C:\MinGW и другая в папке, которая была установлена с некоторыми компиляторами Haskell, которые я использовал некоторое время назад. Кажется, что он по умолчанию не соответствует папке Haskell, возможно, потому, что этот каталог указан первым. Однако эта папка содержит gcc и g++, но НЕ gdb. Мне удалось заставить команду gdb работать, создав файл fstab в каталоге msys, что я, по-видимому, забыл при настройке MinGW. Я добавил к нему свой каталог C:\MinGW, и теперь команда gdb работает исправно! Из любопытства, что делает этот файл?

Кроме того, в идеале я бы хотел, чтобы он сначала смотрел в каталоге C:\MinGW, так как это папка, которую я планирую продолжать обновлять, и ту, которая содержит ВСЕ различные приложения. Однако каталог Haskell указан через переменную системы PATH, которую я прочитал, что это не очень хорошая идея. Будет ли изменение порядка, по которому они появляются, даже исправить мою проблему?

РЕДАКТИРОВАТЬ 2: Не уверен, что произошло на 100%, но теперь команда gdb работает. Я всегда использовал приглашение Windows cmd для запуска этих инструментов, поэтому в соответствии с нижеприведенным ответом (чтобы мне не нужно было связываться с msys) я удалил файл fstab, и вот, он все еще работает! Тем не менее, мой второй вопрос выше: "Каков наилучший способ заставить компиляторы работать с C:\MinGW\bin вместо C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin? Перемещает ли местоположение Haskell из системы PATH и до конца пользователя PATH является жизнеспособным вариантом?

  • 0
    Каковы выходные данные echo %PATH% и dir whatever-your-mingw-bin-path-is такое dir whatever-your-mingw-bin-path-is ?
  • 0
    Что происходит, когда вы вводите полный путь, например, "c: \ MinGW \ bin \ gdb.exe"? Сначала я бы сделал dir c:\MinGW\bin\gdb.exe чтобы посмотреть, найдет ли он файл, а затем вынул dir чтобы попытаться запустить его.
Показать ещё 1 комментарий
Теги:
gdb

1 ответ

0

Вам не нужно запускать gdb (или gcc и все другие инструменты MinGW, если на то пошло) в пределах msys - это не похоже на Cygwin в этом отношении. Если вы запустили его из консоли cmd Windows, он должен работать.

Оболочка msys полезна для запуска скриптов configure, сгенерированных Autoconf, которые используются во многих проектах с открытым исходным кодом для Linux, но его среда не зависит от среды Windows.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню