2015-05-18 93 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