Linuxカーネルのデバッグ情報 - どのように機能しますか?

Linuxカーネルのデバッグ情報 - どのように機能しますか?

デバッグサポートを追加するいくつかのフラグ(CONFIG_DEBUG_INFOなど)を使用してLinuxカーネルをコンパイルできることがわかりました。これらのオプションはデバッグには便利ですが、SystemTapなどの一部のユーティリティでも必要です。

SystemTapを使用する理由は、システム全体ですべてのシステムコールを取得できるためです(そして、すべてのプロセスを追跡するためにstraceを使用するのと同じくらい中断されません)。

カーネルからこの情報を読み取る方法(大きなオーバーヘッドを引き起こさない方法)を知りたいです。

ベストアンサー1

CONFIG_DEBUG_INFOこれは、デバッグシンボル(gdbまたは他のデバッガ用)を使用してカーネルを構築する方法です。カーネル自体とは別にディスクに保存され、実行中のカーネルコピーから読み込まれません。

おすすめ記事