如果linux-x.x.x不可用,如何生成调试符号?

时间:2017-10-21 21:07:22

标签: linux linux-kernel

我正在尝试使用SystemTap破解内核,linux-4.13.4。

我按照这个post安装它,我陷入了

  

从哪里获取内核X的调试符号?   http://ddebs.ubuntu.com/pool/main/l/linux/

但是,由于我使用的是已编译的内核版本4.13.4,因此linux-4.13.4没有相应的版本。

我想按照说明进行操作

  

如果一个debuginfo内核不可用,我如何构建它?

Getting the sources and compiling the kernel on Ubuntu.

$ cd $HOME
$ sudo apt-get install dpkg-dev debhelper gawk
$ mkdir tmp
$ cd tmp
$ sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
$ apt-get source linux-image-$(uname -r)
$ cd linux-2.6.31 (this is currently the kernel version of 9.10)
$ fakeroot debian/rules clean
$ AUTOBUILD=1 fakeroot debian/rules binary-generic skipdbg=false
$ sudo dpkg -i ../linux-image-debug-2.6.31-19-generic_2.6.31-19.56_amd64.ddeb

但是,当我sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)

时,我遇到了一些问题
  

ERROR:

Reading package lists... Done
E: Unable to find a source package for linux-image-4.13.4

我担心调试符号,因为我将在kernel-4.13.4中添加一些代码。如果我使用http://ddebs.ubuntu.com/pool/main/l/linux/中的版本4.13.0,如果我在4.13.3中添加代码但4.13.0之后的代码不可用,因为版本不同且无法找到符号,该怎么办?

即使我修改4.13.0中的代码,我在http://ddebs.ubuntu.com/pool/main/l/linux/中使用linux-4.13.4是否重要?

如果确实重要,我该如何消除问题并生成linux-4.13.4的自定义dbgsym版本?

参考:

https://sourceware.org/systemtap/wiki/SystemtapOnUbuntu

https://wiki.ubuntu.com/Kernel/Systemtap

http://ddebs.ubuntu.com/pool/main/l/linux/

0 个答案:

没有答案