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

Я пытаюсь использовать 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 является жизнеспособным вариантом?

1 ответ

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

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

licensed under cc by-sa 3.0 with attribution.