codeblocks 有调试为啥问题有这么大的问题
C:\ProgramFiles(x86)\CodeBlocks\MinGW\gdb32\bin\gdb32.exe这个路径找出来之后就能用了。...
C:\Program Files (x86)\CodeBlocks\MinGW\gdb32\bin\gdb32.exe这个路径找出来之后就能用了。
展开
1个回答
2018-02-25 · 知道合伙人互联网行家
关注
展开全部
最开始我安装了codeblocks12.11之后发现无法编译,后来上网查了才知道是没有编译器,然后弄了个汉化包,之后搜索下载了mingw-builds,并设置相应的路径(设置-全局编译器设置-可执行工具链-找到你的mingw安装目录重启codeblocks,可以完成编译工作。
可是还是无法完成调试,调试菜单下一只都是灰色的,除了第一个active debugger,于是又上网查,大概的原因有
1、编译时没有打开-g标志,导致没有debug信息,所以无法调试。
解决办法:在debug模式:设置->编译器和调试器设置->全局编译器设置->编译器设置
勾上产生调试符号-g
2、project路径中包含汉字字符,导致断点不停。
解决办法:当然是把project路径变为无汉字即可。(工程路径换成不包含中文名和空格等简单字符所组成的路径试试看。)我做的尝试是吧mingw目录弄到没有空格的目录下。 ( 昨天很有兴趣的下载了CodeBlocks,发觉它不能调试程序。就Google一下,说是要装Windbg,装好了还是不能调试。Google就没有解决方法,于是就搞到深夜,还是不能解决调试问题。在调试器设置里面的附加路径已经设置好Debugging Tools for Windows (x86)的安装目录,因为调试的cdb。exe是在它的安装目录内的。今晚再来发现还是不行,郁闷啦。总是说找不到调试符号,于是上微软官网下xp sp3 symbol。问题依旧的情况下,我把工程建立到一个不含空格的路径中(原来是D:/My Documents/Workspaces/CodeBlocks/testC,现在改为F:/testcode/testC),一试,终于可以调试了,谢天谢地啊!原来又是dos的程序运行特性作怪,就是命令行下cdb.exe的参数是不能含空格的,有空格的参数就会解析错误。)
3、没有创建项目,(我的就是这个原因), 答案就是:我在建立程序时,习惯直接创建文件,没有建立工程,在VC++6.0中这个不是问题,因为在编译时,它会给你自动创建和文件同名的工程,(当然了也因此生成了好多多余的文件),但在Code::Blocks中如果开始的时候如果不创建工程,在编译的过程中系统也会自动为其创建工程,而这也导致了无法调试的后果。所以可以在编辑好了代码之后补一个工程。然后就可以调试了。
在做了以上的探索之后,终于解决了这个问题。。希望对后来的朋友产生一点帮助。
可是还是无法完成调试,调试菜单下一只都是灰色的,除了第一个active debugger,于是又上网查,大概的原因有
1、编译时没有打开-g标志,导致没有debug信息,所以无法调试。
解决办法:在debug模式:设置->编译器和调试器设置->全局编译器设置->编译器设置
勾上产生调试符号-g
2、project路径中包含汉字字符,导致断点不停。
解决办法:当然是把project路径变为无汉字即可。(工程路径换成不包含中文名和空格等简单字符所组成的路径试试看。)我做的尝试是吧mingw目录弄到没有空格的目录下。 ( 昨天很有兴趣的下载了CodeBlocks,发觉它不能调试程序。就Google一下,说是要装Windbg,装好了还是不能调试。Google就没有解决方法,于是就搞到深夜,还是不能解决调试问题。在调试器设置里面的附加路径已经设置好Debugging Tools for Windows (x86)的安装目录,因为调试的cdb。exe是在它的安装目录内的。今晚再来发现还是不行,郁闷啦。总是说找不到调试符号,于是上微软官网下xp sp3 symbol。问题依旧的情况下,我把工程建立到一个不含空格的路径中(原来是D:/My Documents/Workspaces/CodeBlocks/testC,现在改为F:/testcode/testC),一试,终于可以调试了,谢天谢地啊!原来又是dos的程序运行特性作怪,就是命令行下cdb.exe的参数是不能含空格的,有空格的参数就会解析错误。)
3、没有创建项目,(我的就是这个原因), 答案就是:我在建立程序时,习惯直接创建文件,没有建立工程,在VC++6.0中这个不是问题,因为在编译时,它会给你自动创建和文件同名的工程,(当然了也因此生成了好多多余的文件),但在Code::Blocks中如果开始的时候如果不创建工程,在编译的过程中系统也会自动为其创建工程,而这也导致了无法调试的后果。所以可以在编辑好了代码之后补一个工程。然后就可以调试了。
在做了以上的探索之后,终于解决了这个问题。。希望对后来的朋友产生一点帮助。
追问
谢谢你的回答。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,具有以下基本参数:1. 工作频率:72MHz2. 外部时钟:最高可达120MHz3. 存储器容量:64K bytes4. 数据总线宽度:32位5. 输入/输出端口...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询