Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging gdb在断点后丢失行号信息(在内核模块上)_Debugging_Linux Kernel_Gdb_Gdbserver - Fatal编程技术网

Debugging gdb在断点后丢失行号信息(在内核模块上)

Debugging gdb在断点后丢失行号信息(在内核模块上),debugging,linux-kernel,gdb,gdbserver,Debugging,Linux Kernel,Gdb,Gdbserver,我正在将gdb连接到虚拟机的内核,并尝试调试内核模块。我能够连接到虚拟机。我有内核代码的符号信息,可以很好地单步执行内核代码 当我为我的内核模块添加符号文件时(不管是在远程连接之前还是之后),我能够列出有关函数的信息,直到我设置了断点;之后: (gdb) b function_name Breakpoint 1 at 0xffffffffa01d0074 (3 locations) (gdb) list function_name No line number known for functio

我正在将gdb连接到虚拟机的内核,并尝试调试内核模块。我能够连接到虚拟机。我有内核代码的符号信息,可以很好地单步执行内核代码

当我为我的内核模块添加符号文件时(不管是在远程连接之前还是之后),我能够
列出有关函数的信息,直到我设置了断点;之后:

(gdb) b function_name
Breakpoint 1 at 0xffffffffa01d0074 (3 locations)
(gdb) list function_name
No line number known for function_name.
其他信息:

  • 主机和来宾都是Fedora 16 64位
  • 我正在调试的内核是3.0.8-请注意,该内核在以前的32位设置上运行良好,具有不同的环境和远程连接设置
  • 我已经用GDB7.2和7.3.50尝试过了
有什么问题吗?如果我能确定问题是我的内核、内核模块编译、连接还是gdb,这将有所帮助

更新:使用gdb 7.1,我得到以下信息:

...
(gdb) b function_name
/gdb/breakpoint.c:7903: internal-error: expand_line_sal_maybe: Assertion `found' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
这是什么意思?

部分答案:

在GDB7.1中,使用
-gdwarf-2
重新编译内核和内核模块,以及使用
-O0
重新编译模块似乎已经成功了。我不知道是哪一个,也不知道为什么