频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在 FreeBSD 中使用串行通信进行远程内核调试

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组
下一页 1 2 3 

  探索在不影响系统性能的情况下,如何远程调试正在目标计算机上运行的 FreeBSD 内核。本文讨论如何使用串行通信端口设置调试环境、如何编译经过修改的内核代码、如何进行调试,并介绍了一些故障诊断提示。

  引言

  FreeBSD 是从 BSD 衍生而来的高级操作系统,BSD 则是加利福尼亚大学伯克力分校开发的 UNIX® 版本。它提供了很高的性能,与其他系统的兼容性更强,并且需要的系统管理更少。FreeBSD 包含了内核级的状态式 (Stateful) IP 防火墙以及许多其他服务,如 IP 代理网关、访问控制列表、强制访问控制、基于 Jail 的虚拟主机以及加密保护的存储。

  在开发内核代码或运行开发内核时,偶尔会发生内核崩溃。重要的是诊断核心转储以便提取有用的信息。如果尝试使用同一台开发计算机来调试此核心转储,则可能影响系统的性能。每次只能调试一个核心转储。要想高效地调试内核的核心转储,最好是在开发计算机和目标计算机之间建立远程调试会话,然后使用串行通信远程调试内核。

  kgdb 实用程序是基于 gdb 的调试器,允许调试内核核心文件。FreeBSD 5.3 及更高版本提供了 kgdb 实用程序。如果您有早期版本的 FreeBSD,那么仍然可以使用 gdb -k 来读取核心转储文件。kgdb 可帮助在内核代码中放置断点,这样您就可以逐步通过断点来观察变量。

  本文介绍如何使用串行通信端口来设置调试环境、如何编译经过修改的内核代码,以及如何开始内核调试。还介绍了一些故障诊断提示。

  设置调试环境

  要设置进行 FreeBSD 内核调试的远程调试环境,您需要两台计算机:一台目标计算机和一台开发计算机。目标计算机上运行需要调试的新内核映像。开发计算机用于调试目标计算机上运行的内核。为了获得更好的性能,您可以使用配置较好的计算机作为开发计算机。

  零调制解调器电缆 (Null modem cable)

  零调制解调器 (Null modem) 是一种使用 RS-232 串行电缆连接两台计算机的通信方式。原始 RS-232 标准只定义了使用调制解调器连接计算机的方式。使用零调制解调器连接时,发送线和接收线要交叉连接。根据使用目的而定,有时需要交叉连接一个或多个握手线。有多种连接方式可供选择,因为标准中并未涵盖零调制解调器连接。

  如果将零调制解调器电缆连接到串行端口,与使用调制解调器时的速率 (9600 bps) 相比,调试器能够以它当前的最高速率 (19200 bps) 运行。通常认为这种配置比使用调制解调器更可靠,其原因在于:

图 文 结 合:http://www.qqread.com/freebsd/e348114.html 更多文章 更多内容请看FreeBSD系统安全管理全面解析 Linux2.6内核热门通信技术专区专题,或进入讨论组讨论。
下一页 1 2 3 
收藏此文】【 】【打印】【关闭
较早的文章:FreeBSD shell设置

较新的文章:FreeBSD配置系统时间
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章