用于 C++ gdb 调试器的 Eclipse Neon 不工作
Eclipse Neon for c++ gdb debugger not working
我有用于 C/C++ 的 32 位 Eclipse Neon,并为 32 位 MinGW 安装了基本包和 c++ 编译器。除了调试器,Eclipse 中的一切似乎都工作正常。当我尝试调试一个简单的 hello world 程序时,调试器将显示以下内容:
项目的C/C++设置->方言设置为C++11。调试器似乎在按下调试后终止。没有线程树,none 步函数处于活动状态。我确保未选中 "Skip all breakpoints",并且图像中 "cout" 旁边有一个断点。我已经多次尝试重新安装 Eclipse 和 MinGW 并重新启动我的计算机,但似乎没有任何效果。
编辑:这是 运行 配置的屏幕截图 -> 主选项卡供需要的人使用。
编辑 2:一点更新,所以我将 MinGW bin 的文件路径添加到 Eclipse 的 Window -> Preferences -> C/C++ -> Build -> Environment variables,我终于收到一条错误消息。
我的设置也是 MinGW 32 位和 64 位 Eclipse Neon C/C++。我的教授和我的大多数同行都在使用这个设置,他们的调试器似乎工作正常,所以这绝对是我造成这个错误的原因,但我不知道是什么。
好的,所以我不完全知道发生了什么,但调试器现在可以工作了。我摆弄了一下环境变量,然后它开始工作了。我尝试隔离解决方案,所以我重新安装了 Eclipse 以查看实际修复了调试器的设置,但是在重新安装之后调试器正常工作,与以前不同。
对于那些遇到这个问题的人,我有一些尝试让它工作的建议。所有的建议都涉及将 MinGW bin 路径添加到某个环境变量:
- 将 MinGW bin 路径添加到您的环境变量(用户一或系统一,或者您可以同时尝试两者)。
- 将 MinGW bin 路径添加到 Eclipse 的构建环境变量中(Window -> 首选项 -> C/C++ -> 构建 -> 环境)
- 将 MinGW bin 路径添加到您的 运行 配置环境变量(运行 -> 运行 配置 -> 环境选项卡)如果它还不存在的话。
- 将 GDB 调试器路径(应该类似于 C:\MinGW\bin\gdb.exe)添加到您的调试配置(运行 -> 调试配置 -> 调试器选项卡,然后将 gdb GDB 调试器中的路径)。
我实际上不知道这是否解决了问题。我的调试器在我尝试了这些东西后才开始工作(不一定按照规定的顺序)。
我有用于 C/C++ 的 32 位 Eclipse Neon,并为 32 位 MinGW 安装了基本包和 c++ 编译器。除了调试器,Eclipse 中的一切似乎都工作正常。当我尝试调试一个简单的 hello world 程序时,调试器将显示以下内容:
项目的C/C++设置->方言设置为C++11。调试器似乎在按下调试后终止。没有线程树,none 步函数处于活动状态。我确保未选中 "Skip all breakpoints",并且图像中 "cout" 旁边有一个断点。我已经多次尝试重新安装 Eclipse 和 MinGW 并重新启动我的计算机,但似乎没有任何效果。
编辑:这是 运行 配置的屏幕截图 -> 主选项卡供需要的人使用。
编辑 2:一点更新,所以我将 MinGW bin 的文件路径添加到 Eclipse 的 Window -> Preferences -> C/C++ -> Build -> Environment variables,我终于收到一条错误消息。
好的,所以我不完全知道发生了什么,但调试器现在可以工作了。我摆弄了一下环境变量,然后它开始工作了。我尝试隔离解决方案,所以我重新安装了 Eclipse 以查看实际修复了调试器的设置,但是在重新安装之后调试器正常工作,与以前不同。
对于那些遇到这个问题的人,我有一些尝试让它工作的建议。所有的建议都涉及将 MinGW bin 路径添加到某个环境变量:
- 将 MinGW bin 路径添加到您的环境变量(用户一或系统一,或者您可以同时尝试两者)。
- 将 MinGW bin 路径添加到 Eclipse 的构建环境变量中(Window -> 首选项 -> C/C++ -> 构建 -> 环境)
- 将 MinGW bin 路径添加到您的 运行 配置环境变量(运行 -> 运行 配置 -> 环境选项卡)如果它还不存在的话。
- 将 GDB 调试器路径(应该类似于 C:\MinGW\bin\gdb.exe)添加到您的调试配置(运行 -> 调试配置 -> 调试器选项卡,然后将 gdb GDB 调试器中的路径)。
我实际上不知道这是否解决了问题。我的调试器在我尝试了这些东西后才开始工作(不一定按照规定的顺序)。