解决在macOS系统上使用rust-gdb调式rust代码时无法进入断点的问题
问题title缩写,主要原因是gdb 无法在cargo生成可执行文件和符号信息关联起来,类型信息如下图:
解决方案:在Cargo.toml文件中添加一项配置,所以能找到符号信息.
配置信息说明:
1. profile.dev或者profile.release是用cargo build进行编译时使用到的配置信息的意思。dev是就是直接build,release是 cargo build --release;
2. opt-level是优化等级,0就是不优化,3是最高优化等级。 进行debug时一般为了能和代码匹配上,所以dev就不用优化是0;
3. debug=true 或者fasle 是指编译的可执行文件是否支持debug功能;
4. split-debuginfo="packed" 简单点说就是编译生成的调试信息与可执行文件放在一起。这样才能找到需要的符号信息,并且这个配置项在macOS系统默认是不开启的(参考:https://doc.rust-lang.org/cargo/reference/profiles.html );
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!