カーネルモジュール< vnos-module.ko>でAPIが何を返すのか知りたい。gdbを使ってLinuxカーネルモジュールをデバッグ
それほど簡単ではないことが分かっているので、カーネルモジュールをデバッグするためにシンボルテーブルをロードする必要があります。
私がしたのは です。1.カーネルモジュールの.text .bssセクションと.dataセクションのアドレスを検索しようとしました。 2. gdbでadd-symbol-fileコマンドを使用してシンボルテーブルファイルを追加します。
しかし、私は "/fabos/modules/vnos-module.ko...(でもデバッグシンボルが見つかりませんでした)...からシンボルを読み込んでいます...完了しました。
ここには何かがありますか?
[email protected]:/sys/module/vnos_module/sections# cat .text .data .bss
0xf7f7f000
0xf7fb7a30
0xf7fc3da4
[email protected]:/sys/module/vnos_module/sections# gdb /fabos/modules/vnos-module.ko
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /fabos/modules/vnos-module.ko...(no debugging symbols found)...done.
add-symbol-file /fabos/modules/vnos-module.ko 0xf7f7f000 -s .data 0xf7fb7a -s .bss 0xf7fc3da4
add symbol table from file "/fabos/modules/vnos-module.ko" at
.text_addr = 0xf7f7f000
.data_addr = 0xf7fb7a30
(y or n) y
Reading symbols from /fabos/modules/vnos-module.ko...(no debugging symbols found)...done.
助けてください。
ファイルにシンボルがない場合、シンボルはありません。セクションのアドレスがわかっていてもデバッグできません。バイナリに対応するシンボルまたは別のシンボルファイルを持つファイルを取得する必要があります。 –
モジュールをコンパイルしてシンボルを組み込む方法はありますか? –