2015-05-18 52 views
0

我想在Linux中调试命令行。在Linux中调试命令路由

$ route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.10 

通过上面的命令行,我想知道Linux内核如何处理它。我正在做关于路由表的项目,我将演示这个。当运行这个命令时,内核执行内核调用的函数(即:lookup(),fib_tale_insert()...),以及在调试时如何显示命令的值。

我想用“strace”,但我不能。你可以帮我吗?

回答

1

首先,你必须重新编译启用了调试信息内核,见这些页面了解更多信息:

https://serverfault.com/questions/251134/how-to-compile-the-kernel-with-debug-symbols

https://www.kernel.org/pub/linux/kernel/people/jwessel/kdb/CompilingAKernel.html

(在简而言之,你需要CONFIG_ CONFIG_DEBUG_INFO = y。)

你也可以找到一些表达启用了调试的y编译内核,但这取决于您使用的分发版。

+0

谢谢你的回答。我使用的是Ubuntu 10.04,内核2.x,我也重新编译了内核,目前的版本内核是3.13。在重新编译时,我还选择了调试内核,并且如您所说的那样具有CONFIG_DEBUG_INFO = y。你知道这个工具可以工作吗? – Hoang

+1

我会说kdb(内核调试器),但我不知道如何使用它,对不起。但是,看看kernel.org上的教程,您应该找到关于该主题的任何内容。 –

+0

我会尽力的。非常感谢你。 – Hoang