GDB不是一个可识别的命令- Windows命令提示符
GDB not a recognized command - Windows command prompt
我试图使用GDB调试c++程序,但我的系统不识别GDB作为命令。我通过MinGW安装了它以及许多其他工具。我使用的其他功能(gcc, g++)没有任何问题,因此问题似乎与我的一般设置无关。我已经将MinGWbin目录添加到我的PATH中。gdb.exe在该文件夹中。但是,当从我的项目目录中调用它时,它不会运行,它只是错误:"'gdb'不被识别为内部或外部命令、可操作程序或批处理文件。"在使用GDB时,我是否错过了设置或调用中的某些步骤?
编辑:好吧,我想我发现了问题:在我的PATH中有两个MinGW目录,一个在C:MinGW,另一个在文件夹中安装了一些Haskell编译器,我不久前使用过。它似乎默认为Haskell文件夹,可能是因为该目录首先列出。但是,这个文件夹包含gcc和g++,但不包含gdb。通过在msys目录中创建fstab文件,我能够使gdb命令工作,这显然是我在设置MinGW时忘记的一个步骤。我添加了我的C:MinGW目录到它,现在gdb命令工作正常!出于好奇,这个文件是做什么的?
此外,理想情况下,我希望它首先在C:MinGW目录中查找,因为这是我计划保持更新的文件夹,并且包含所有各种应用程序。然而,Haskell目录是通过系统PATH变量指定的,我已经读到它不是一个好主意。改变它们出现的顺序能解决我的问题吗?
编辑2:不是100%确定发生了什么,但是gdb命令现在似乎正在工作。我一直在使用Windows cmd提示符来运行这些工具,所以根据下面的答案(我不需要与msys混淆),我删除了fstab文件,瞧,它仍然有效!然而,我上面的第二个问题仍然存在:让编译器运行完C:MinGWbin而不是C:Program Files (x86)Haskell Platform2013.2.0.0bin的最佳方法是什么?将Haskell位置移出系统路径并移到用户路径的末端是可行的选择吗?
我不得不单独运行pacman -S mingw-w64-x86_64-gdb
,然后gdb出现在bin中。
您不必在msys中运行gdb(或gcc和所有其他MinGW工具)-在这方面它不像Cygwin。如果您从Windows cmd控制台中运行它,它应该可以工作。
msys shell对于运行由Autoconf生成的配置脚本非常有用,这些脚本被许多起源于Linux的开源项目所使用,但是它的环境是独立于Windows环境的。
- GCC-7:错误:无法识别的命令行选项"-M64"
- 'cmake'不被识别为内部或外部命令 - 北极星
- 如何从核心转储文件中识别导致崩溃的完整命令
- C++ fork() 和 execl() 调用 (Linux) 后无法识别命令
- exe文件不被识别为内部或外部命令,可操作的程序或批处理文件在C++
- 在 Windows 7 中编译C++代码(无法识别"g++"命令)
- 错误:生成Mesos中无法识别的命令行选项"-Wno无效源编码"[-Weror]
- gcc:错误:在 MacOSX 上构建 openjdk9 时'-mstack-alignment=16'无法识别的命令行选项
- 无法识别的命令行选项 '-WI'
- G-WAN cc1plus:错误:无法识别的命令行选项"-std=gnu++0x"
- getopt:不识别有效的命令行参数
- 针对有限数量的命令的快速语音识别
- 命令在复制/粘贴时未识别,但在手动编写时标识
- Netbeans 7.2 中 c++ "-std=c++11"无法识别的命令行选项
- php未被识别为内部或外部命令
- MinGW:错误:无法识别的命令行选项"-V"
- cc1plus:错误:使用 HXCPP "-stdlib=libstdc++"无法识别的命令行选项
- Scons 选择哪个版本的 g++ |无法识别的命令行选项"-std=c++11"
- VS2012:"nmake"未被识别为内部或外部命令
- CImg 错误:"gm.exe"未被识别为内部或外部命令,