科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道揭秘Linux内核调试器之内幕 (5)

揭秘Linux内核调试器之内幕 (5)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

bd 命令禁用特殊断点。它接收断点号作为参数。该命令不是从断点表中除去断点,而只是禁用它。断点号从 0 开始,根据可用性顺序分配给断点。

作者:Hariprasad Nellitheertha 来源:IBM 2007年11月6日

关键字: 内幕 调试器 内核 Linux

  • 评论
  • 分享微博
  • 分享邮件
bd 命令禁用特殊断点。它接收断点号作为参数。该命令不是从断点表中除去断点,而只是禁用它。断点号从 0 开始,根据可用性顺序分配给断点。

be 命令启用断点。该命令的参数也是断点号。

bl 命令列出当前的断点集。它包含了启用的和禁用的断点。

bc 命令从断点表中除去断点。它以具体的断点号或 * 作为参数,在后一种情况下它将除去所有断点。

示例对函数 sys_write() 设置断点:
[0]kdb> bp sys_write

列出断点表中的所有断点:

[0]kdb> bl

清除断点号 1:

[0]kdb> bc 1

堆栈跟踪

主要的堆栈跟踪命令有 bt、btp、btc 和 bta。

bt 命令设法提供有关当前线程的堆栈的信息。它可以有选择地将堆栈帧地址作为参数。如果没有提供地址,那么它采用当前寄存器来回溯堆栈。否则,它假定所提供的地址是有效的堆栈帧起始地址并设法进行回溯。如果内核编译期间设置了 CONFIG_FRAME_POINTER 选项,那么就用帧指针寄存器来维护堆栈,从而就可以正确地执行堆栈回溯。如果没有设置 CONFIG_FRAME_POINTER,那么 bt 命令可能会产生错误的结果。

btp 命令将进程标识作为参数,并对这个特定进程进行堆栈回溯。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章