无法在kgdb设置中的某些功能上设置断点

实际的

我使用两个虚拟机进行kgdb设置,两个虚拟机都具有CentO 6.4(实际上kgdb主机是目标的克隆)。我可以成功连接到远程目标并开始调试。我想调试RAID驱动程序,特别是raid456.ko。我的问题是,在gdb下使用add-symbol-file命令加载raid456.ko的符号后,我可以在几个函数上设置断点,但是我无法在几个函数上设置断点。例如,我可以在ops_run_biofill函数上设置断点,但不能在ops_run_biodrain函数上设置断点。两者都是静态函数,并且是raid5.c文件的一部分。如果我尝试在ops_run_biodrain上设置断点,则会显示:

(gdb)b ops_run_biodrain

未定义功能“ ops_run_biodrain”。使断点在将来共享库加载时挂起吗?(y或[n])

为什么很少能调试功能,为什么不能调试其他功能?

[编辑] ---------------------我进一步调查了这个问题,发现使用nm实用程序,我们可以找到某些特定符号部分的名称和虚拟地址。目标文件。我在raid456.ko上尝试了nm,发现ops_run_biofill函数在nm命令的输出中,但是ops_run_biodrain没有在输出中。这是否意味着ops_run_biodrain不在raid456.ko中?如果是,那么为什么它不属于raid456.ko?ops_run_biodrain不受任何宏检查。

实际的

找到问题的解决方案。由于编译优化,几乎没有检测到任何符号。在禁用RAID驱动程序优化之后,KGDB可以检测到这些符号并能够在其上设置断点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在功能上设置间隔

来自分类Dev

如何在某些功能上设置计时器或延迟

来自分类Dev

卡在功能上

来自分类Dev

累积结果,直到在功能上满足某些条件为止

来自分类Dev

某些GL功能上的奇怪“ void *”参数

来自分类Dev

我可以停止某些功能上的事件传播吗?

来自分类Dev

innerHTML仅在某些功能上起作用

来自分类Dev

SetTimeout无法在on鼠标按下/ touchstart功能上执行

来自分类Dev

我的.map方法在功能上无法正常工作

来自分类Dev

如何修复Firebase Cloud功能上的“无法获取”错误

来自分类Dev

无法使用Wordpress上传功能上传文件

来自分类Dev

外部文件无法在“加载”功能上加载

来自分类Dev

无法从谷歌云功能上传网址图片

来自分类Dev

无法在项目绑定功能上使用中继项目

来自分类Dev

无法在Chrome DevTools中设置所需的断点?

来自分类Dev

VS 2012无法在Razor中设置断点

来自分类Dev

VS 2012无法在Razor中设置断点

来自分类Dev

ghci无法设置断点

来自分类Dev

在ABPeoplePickerNavigationController中的删除功能上添加滑动

来自分类Dev

按键功能上的JavaScript

来自分类Dev

用我。在功能上

来自分类Dev

点击功能上课

来自分类Dev

javascript 功能上的转换

来自分类Dev

如何在R-studio的功能主体中设置断点?

来自分类Dev

无法在malloc()处设置断点

来自分类Dev

无法在malloc()处设置断点

来自分类Dev

PHPstorm-无法在blade.php文件中设置断点

来自分类Dev

无法在C ++ / Objective-C ++代码中设置断点

来自分类Dev

webRTC在功能上如何工作?