繁体   English   中英

GDB无法识别的命令-Windows命令提示符

[英]GDB not a recognized command - Windows command prompt

我正在尝试使用GDB调试C ++程序,但是我的系统无法将gdb识别为命令。 我通过MinGW安装了它以及许多其他工具。 我使用的其他功能(gcc,g ++)没有任何问题,因此该问题似乎与我的常规设置无关。 我已经将MinGW \\ bin目录添加到我的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:\\ MinGW \\ bin而不是C:\\ Program Files(x86)\\ Haskell Platform \\ 2013.2.0.0 \\ bin的最佳方法是什么? 将Haskell位置移出系统PATH并移至用户PATH末尾是否可行?

您不必在msys中运行gdb(或与此相关的gcc和其他所有MinGW工具)-在这方面不像Cygwin。 如果您从Windows cmd控制台运行它,它应该可以工作。

msys shell对于运行由许多Linux起源的开源项目使用的Autoconf生成的配置脚本很有用,但是它的环境独立于Windows环境。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM