Eclipse - CDT使用GDB调试C++的问题-无源文件命名(No source file named)

CDT使用GDB调试C++的问题(No source file named)


本文地址:http://blog.youkuaiyun.com/caroline_wendy/article/details/17056043


Eclipse CDT调试C++, 使用的Unix的调试器GDB;

由于在Unix下, 文件的目录格式使用的是"/", 但是在Windows下, 文件的目录格式使用的是"\", 在C/C++中是转义字符;

所以导致GDB由Unix移植到Windows下, 使用的文件目录会发生转义错误, 从而找不到源文件, 即无源文件命名(No source file named);

使得GDB即使设置断点, 也无法挂起(Suspend)程序, 出现调试问题, 无法调试;

解决方法:

修改文件查询路径, 使GDB寻找当前路径,避免使用多级路径, 出现转义问题;

位置: Windows -> Preferences, GDB的查找路径, 添加项目的相对路径(Path Relative to Source Folders), 即可.

如下图:




回答: 当在调试时出现"No source file named"的错误提示时,可能是由于以下几个原因导致的。首先,你需要确认你是否在正确的目录下设置了断点。根据你的错误提示,你已经在正确的目录下了\[1\]。其次,你需要检查你的编译选项是否包含了"-g"选项,这个选项可以保留调试信息,没有调试符号可能导致无法进行调试\[4\]。另外,你还可以尝试使用"readelf --debug-dump=info \[elf文件\]"命令来查看文件中的调试信息,包括每个源文件的绝对路径信息\[3\]。如果以上方法都不起作用,你可以尝试重新安装GDB,并确保按照正确的步骤进行编译和安装\[1\]。希望这些解决方案能够帮助你解决问题。 #### 引用[.reference_title] - *1* [GDB调试问题No source file named file.c. Make breakpoint pending on future shared library load? (y or...](https://blog.youkuaiyun.com/wenceng9/article/details/21372265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [GDB命令](https://blog.youkuaiyun.com/kh815/article/details/102498643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值