我正在调试Linux内核代码,而不是显示像
这样的源代码行(gdb)
5588 init_cgroup_root(&cgrp_dfl_root, &opts);
我希望看到像
这样的说明(gdb)
call 0x23498722 <start_kernel>
如何告诉gdb这样做?
答案 0 :(得分:3)
使用scala> object foo { val x: Boolean = true }
defined object foo
scala> implicit val x: Int = 23
x: Int = 23
scala> implicitly[Int]
res0: Int = 23
scala> import foo._
import foo._
scala> implicitly[Int]
<console>:17: error: could not find implicit value for parameter e: Int
implicitly[Int]
^
后跟代码行。如果您不知道该行,您可以在该函数中设置断点,当执行到达该函数时,它将为您提供地址。
编辑:
可能是您提出的更好的解决方案disassemble
然后在任何需要的地方设置断点并定期进行。 gdb将输出汇编指令而不是源代码
答案 1 :(得分:0)
在gdb cmdline中:
gdb&gt; si或gdb&gt; x / Ni地址(代码地址)