免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 雨丝风片
打印 上一主题 下一主题

大家在研究BSD内核的时候都有些什么方法? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-02-18 12:21 |只看该作者
原帖由 szjungle 于 2006-2-18 12:14 发表


第4种方法,目标机不是运行 DDB,而是在内核里面打开 KGDB。
这种方法我还没有用过,只在一个朋友那里看他调试过。

参考:
http://www.netbsd.org/Documentation/kernel/kgdb.html

另外在  ...


FreeBSD的目标机就是运行的DDB,见《FreeBSD开发者手册》的
10.6 On-Line Kernel Debugging Using Remote GDB部分。但手册里讲得
太简单了一些,有些地方不是很清楚。你推荐的文档记得我也曾经参考过,但是调试机
和目标机始终连接不上,该不会是串口坏了吧?,我准备最近再试试。你的
朋友调的是哪个BSD?

论坛徽章:
0
12 [报告]
发表于 2006-02-18 12:23 |只看该作者
原帖由 _z_ 于 2006-2-18 12:01 发表


在代码的关键部分加printf,看输出。。。


传说中的悬丝诊脉?
这种方法最简单,但是感觉不太方便,一旦想在什么地方加打印的话又得重新来过。

论坛徽章:
0
13 [报告]
发表于 2006-02-18 12:32 |只看该作者
原帖由 雨丝风片 于 2006-2-18 12:21 发表

FreeBSD的目标机就是运行的DDB,见《FreeBSD开发者手册》的
10.6 On-Line Kernel Debugging Using Remote GDB部分。但手册里讲得
太简单了一些,有些地方不是很清楚。你推荐的文档记得我也曾经参考过,但是调试机
和目标机始终连接不上,该不会是串口坏了吧?,我准备最近再试试。你的
朋友调的是哪个BSD?


是 NetBSD,我以为 BSD 的调试方法都是一样的

论坛徽章:
0
14 [报告]
发表于 2006-02-18 12:43 |只看该作者
原帖由 szjungle 于 2006-2-18 12:32 发表

是 NetBSD,我以为 BSD 的调试方法都是一样的


其实大致是相同的,我又看了一下你介绍的文章,和FreeBSD的手册大同小异。比如,在目标机上
打开DDB内核选项,在调试机上则使用gdb,FreeBSD的手册里明确说要使用gdb -k,从接下来
的提示符来看,也就是kgdb的意思。

我在网上没有找到成功的FreeBSD内核调试的步骤说明,只有参考手册和NetBSD的文档慢慢摸索了。。。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
15 [报告]
发表于 2006-02-18 13:11 |只看该作者
原帖由 雨丝风片 于 2006-2-18 12:43 发表


其实大致是相同的,我又看了一下你介绍的文章,和FreeBSD的手册大同小异。比如,在目标机上
打开DDB内核选项,在调试机上则使用gdb,FreeBSD的手册里明确说要使用gdb -k,从接下来
的提示符来看,也就是kgd ...


我是 理论+代码+猜想
暂时还没有跟踪过内核......

论坛徽章:
0
16 [报告]
发表于 2006-02-18 13:16 |只看该作者
刚才找用 qemu 调试的方法时看到一篇更详细的文档

Debugging Kernel Problems:
http://www.lemis.com/grog/Papers/Debug-tutorial/tutorial.pdf

论坛徽章:
0
17 [报告]
发表于 2006-02-18 13:21 |只看该作者
原帖由 szjungle 于 2006-2-18 13:16 发表
刚才找用 qemu 调试的方法时看到一篇更详细的文档

Debugging Kernel Problems:
[url=http://www.lemis.com/grog/Papers/Debug-tutorial/tutorial.pdf]http://www.lemis.com/grog/Papers/Debug-tutorial/tut ...


这篇文档我也看过了,,多半还是我自己的设置有问题!一定要再试试!

另外,这片文档确实值得推荐,不单讲内核调试,捎带着还说了很多系统相关的实践知识!

论坛徽章:
0
18 [报告]
发表于 2006-02-18 18:22 |只看该作者
用gdb+qemu能进行源代码级的调试,不过断点容易设,但是单步的时候有时会进入到时钟中断中,有时不会。正在研究~

[ 本帖最后由 mingyanguo 于 2006-2-18 23:33 编辑 ]

论坛徽章:
0
19 [报告]
发表于 2006-02-20 08:28 |只看该作者
原帖由 mingyanguo 于 2006-2-18 18:22 发表
用gdb+qemu能进行源代码级的调试,不过断点容易设,但是单步的时候有时会进入到时钟中断中,有时不会。正在研究~


以前没有接触过qemu,有空了试试!
已经看了你发在Linux内核版的帖子和你blog里的相关文章,期待着你的研究成果!

论坛徽章:
0
20 [报告]
发表于 2006-02-23 12:25 |只看该作者
原帖由 雨丝风片 于 2006-2-20 08:28 发表


以前没有接触过qemu,有空了试试!
已经看了你发在Linux内核版的帖子和你blog里的相关文章,期待着你的研究成果!

问题已经基本解决,现在用qemu+gdb单步跟踪基本上没什么问题了。
http://bbs.chinaunix.net/viewthr ... page%3D1#pid4777257
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP