我是中级Linux用户,有基本的编程知识(c,perl,js ...)以及一些系统故障排除(strace、SystemTap、lsof...)我厌倦了用谷歌搜索Linux日志中的消息(/var/log/ messages )。我想提高我的Linux内核知识。自从Linux (以及它的实用程序,如ssh等)是开源的,在某个地方可以找到源代码。所以我的问题是:如何在源代码级别上解决/调试Linux问题?对于中级Linux用户来说,这是可能的吗?从哪里开始,如何通过这种方式提高我的编程技能和Linux内核知识?
发布于 2013-05-23 00:19:17
老实说,对于特定的请求,Goole永远是你最好的选择。
但是如果你想要理论知识,读一些书(或者你能找到的电子书……Google上)。祝你好运。
发布于 2013-05-23 00:42:17
Linux内核交叉参考可能会有所帮助。您可以通过单击链接来浏览源代码。
在这里尝试一下(还有其他URL,但我发现这个在我的位置是最可靠的):
http://lxr.free-electrons.com/
发布于 2013-05-23 02:16:41
使用Linux源的稳定树的git克隆。
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git您的版本将被标记;在目录中运行git tag。检查该版本,例如git checkout v3.4.45。然后你就可以运行git grep *log message*了。您可能得不到任何匹配,因此您可以在匹配之前对字符串进行修剪。例如,数字、驱动程序和模块名称通常采用格式字符串。
内核消息的源代码中通常包含printk、dev_err、BUG等。通常,您可以从lsmod判断系统中是否存在某个模块。模块名称和源文件通常是匹配的。因此,您可以获得有关代码是否存在于您的系统中的线索。
https://stackoverflow.com/questions/16696762
复制相似问题