查看: 54|回覆: 0

Fedora 35中使用gdb

[複製鏈接]

0

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-2-7
發表於 2022-3-9 09:59:00 | 顯示全部樓層 |閲讀模式

工作学习在Fedora上一段时间,发现很多有用的工具,几乎可以完成所有需要的任务。工作原因需要学习数值计算,需要认真学习c++,可是容易内存泄漏之类,需要熟练掌握debug工具, 其中gun gdb是很流行的debug工具。GDB supports the following languages (in alphabetical order): Ada, Assembly, C/C++,D, Fortran, Go, Objective-C, OpenCL, Modula-2, Pascal, Rust。

 

但是gun gdb更新了新版本11.2,用法跟之前有所不同,启用了debuginfod,因为它可以透明地按需获取必要的调试数据和源代码,而不是处理混乱的调试包。上个版本跟glibc2.34还有兼容问题(?)

测试gdb的时候,显示Downloading -0.00 MB separate debug info for /lib64/libc.so.6, 但是下载始终没有进展,不得不终止进程。那是因为fedora自动安装了debuginfod, 可能网站地址不通,通过echo $DEBUGINFOD_URLS查看地址。

 

debuginfod的极简用法

1, 安装

2, 新建配置文件~/.gdbinit, 每次使用gdb都使用debuginfo, 可设置set debuginfod enabled on; 反之set debuginfod enabled off, 不设置的话每次都询问.

3, 如果需要使用debuginfod, 建议将DEBUGINFOD_URLS改为其他地址,比如https://debuginfod.archlinux.org/ 可以访问到。

 

另外,如果安装dnf debuginfo-install -y glibc时,报错“Could not find debugsource package for the following installed packages”,我是通过先更新系统(dnf update)再安装来解决的。

 

参考

https://www.oschina.net/news/136799/fedora-35-debuginfod

https://fedoraproject.org/wiki/Debuginfod

https://wiki.archlinux.org/title/Debuginfod

https://wiki.debian.org/Debuginfod

https://developers.redhat.com/blog/2019/10/14/introducing-debuginfod-the-elfutils-debuginfo-server#

回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部