Codeblocks 使用msys2 进行 编译/调试。解决codeblocks不能debug问题

之前我用codeblocks一直都不能debug,我尝试了更换各自gdb的类型,参考了许多的文档,例如:

有些下载的codeblocks没有自带MinGW,没法编译,当你自己下载一个MinGW,你安装好了,可能不会带有gdb.exe文件。
需要把下载好的gdb.exe复制到你的安装MinGW的文件夹的bin里面,就可以进行调试了
https://blog.csdn.net/uestc_c2_403/article/details/78914222

在bin里面缺少gdb.exe。百度的解决方法是,自己在网上下载,并复制过去,结果是我还是失败。
我终于找到了最简单也好用的方法。我把codeblocks删除。在官网上重新安装(http://www.codeblocks.org/downloads/26)
最后在 Settings - Debug - Default - Executable path 中导入之前安装的CodeBlocks\MinGW\bin\gdb32.exe,大功告成

思路大概是:没有gdb.exe文件->重新安装/下载gdb->设置gdb。
然而没有什么用。

在这里插入图片描述
codeblocks不好使

后来我甚至尝试了把好使的C-Free5的gdb拿给codeblocks用,还是不行。

这个问题于是一直留存着。我期间一直使用vs进行编程,不得不承认vs除了很大以外,它的调试功能确实非常强悍。

后来在一节程序设计课上,老师推荐我们使用codeblocks+msys2进行编程。
跟随老师安装完了msys2之后。我尝试了一下codeblocks的编译和调试,竟然成功了。

所以我和大家分享一下我安装msys2的过程。
步骤1
下载msys2

在这里插入图片描述
我选择的是i686,32位和64位的都可以。第一个好像只有64位能用
步骤2
修改更新源
进入msys64/etc/pacman.d/目录中,分别在三个文件中添加
mirrorlist.mingw32
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686
Server = http://mirror.bit.edu.cn/msys2/mingw/i686
Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/mingw/i686
Server = http://downloads.sourceforge.net/project/msys2/mingw/i686

mirrorlist.mingw64
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64
Server = http://mirror.bit.edu.cn/msys2/mingw/x86_64
Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/mingw/x86_64
Server = http://downloads.sourceforge.net/project/msys2/mingw/x86_64

mirrorlist.msys
Server = http://mirrors.ustc.edu.cn/msys2/msys/ a r c h S e r v e r = h t t p : / / m i r r o r s . u s t c . e d u . c n / m s y s 2 / m s y s / arch Server = http://mirrors.ustc.edu.cn/msys2/msys/ archServer=http://mirrors.ustc.edu.cn/msys2/msys/arch
Server = http://mirror.bit.edu.cn/msys2/msys/ a r c h S e r v e r = h t t p : / / w w w . m i r r o r s e r v i c e . o r g / s i t e s / d o w n l o a d . s o u r c e f o r g e . n e t / p u b / s o u r c e f o r g e / m / m s / m s y s 2 / m s y s / arch Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/msys/ archServer=http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/msys/arch
Server = http://downloads.sourceforge.net/project/msys2/msys/$arch

其实就是把源更新到清华,北理的国内源

步骤3
打开msys2,输入 pacman -Syu
此处的 pacman 和-Syu直接有一个space,大家注意打上,不然会报错
在这里插入图片描述

等待更新所有
等待它更新完成
注意:他最后更新完了会跳出这一行
我在执行完后遇到了警告
在这里插入图片描述
解决方法就是关掉不理。。。在这里插入图片描述

因为执行更新会把,之前修改的三个文件覆盖了。你可以先备份修改之后的,然后再恢复!

步骤4
重复步骤2,再次更新源
然后执行命令pacman -Su
将本地的包数据库与远程的仓库进行了同步

步骤5
执行命令 pacman -S mingw-w64-i686-toolchain

在这里插入图片描述toolchain

步骤6
执行命令 pacman -S mingw-w64-i686-gtk2

步骤7
将msys2(你的msys2安装目录一般在C:\msys64)/mingw64/bin/
添加到PATH目录

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这一步很重要,否则eclipse c++中调试会出错

步骤8
在codeblocks->settings->compiler/debugger中进行对应的设置

在这里插入图片描述

你在设置好了之后,点开一个"…",它的路径应该都是在msys的路径下的。
在这里插入图片描述
再提醒一句:有的同学在最后过程中可能遇到点一下auto-detect之后又选回到原来的路径了,所以这里点击"…"之后不要再选auto-detect就好了。

在这里插入图片描述
最后codeblocks的编译和调试功能都应该是正常的
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值