概述
准备工作
一般对于 16.04 LTS 版本已经开启了内核调试支持。可以查看/boot目录下的编译选项文件来确认一下:
(搞事情前最好先打个快照)
zhangji16@zhangji16vm:/boot$ uname -a
Linux zhangji16vm 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
zhangji16@zhangji16vm:/boot$ cat config-4.4.0-139-generic | grep -i "GDB"
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_SERIAL_KGDB_NMI=y
CONFIG_GDB_SCRIPTS=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not set
CONFIG_KGDB_LOW_LEVEL_TRAP=y
CONFIG_KGDB_KDB=y
下载符号文件
要调试内核 , 最好要有内核符号表 , 所以需要下载一下
lsb_release -c命令用来获取当前Ubuntu的开发代号,用于在符号服务器中寻找所需符号包
zhangji16@zhangji16vm:/usr/lib/debug$ codename=$(lsb_release -c | awk '{print $2}')
zhangji16@zhangji16vm:/usr/lib/debug$ sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
> deb http://ddebs.ubuntu.com/ ${codename} main restricted universe multiverse
> deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse
> deb http://ddebs.ubuntu.com/ ${codename}-updates main restricted universe multiverse
> deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse
> EOF
[sudo] zhangji16 的密码:
deb http://ddebs.ubuntu.com/ xenial main restricted universe multiverse
deb http://ddebs.ubuntu.com/ xenial-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ xenial-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com/ xenial-proposed main restricted universe multiverse
zhangji16@zhangji16vm:/usr/lib/debug$ cat /etc/apt/sources.list.d/ddebs.list
deb http://ddebs.ubuntu.com/ xenial main restricted universe multiverse
deb http://ddebs.ubuntu.com/ xenial-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ xenial-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com/ xenial-proposed main restricted universe multiverse
添加访问符号服务器的密钥文件
zhangji16@zhangji16vm:/usr/lib/debug$ wget -O - http://ddebs.ubuntu.com/dbgsym-release-key.asc | sudo apt-key add -
--2018-12-21 15:38:15-- http://ddebs.ubuntu.com/dbgsym-release-key.asc
正在解析主机 ddebs.ubuntu.com (ddebs.ubuntu.com)... 91.189.94.8
正在连接 ddebs.ubuntu.com (ddebs.ubuntu.com)|91.189.94.8|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度: 2471 (2.4K) [text/plain]
正在保存至: “STDOUT”
- 100%[============================>] 2.41K --.-KB/s in 0s
2018-12-21 15:38:16 (356 MB/s) - 已写入至标准输出 [2471/2471]
OK
执行sudo apt-get update更新
zhangji16@zhangji16vm:/usr/lib/debug$ sudo apt-get install linux-image-`uname -r`-dbgsym
未完待续
最后
以上就是大意大碗为你收集整理的Ubuntu内核调试 demo ubuntu part1准备工作下载符号文件的全部内容,希望文章能够帮你解决Ubuntu内核调试 demo ubuntu part1准备工作下载符号文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复