【问题标题】:How to get stack range of kernel module? How to fflush printf or uprintf in FreeBSD?如何获取内核模块的堆栈范围?如何在 FreeBSD 中刷新 printf 或 uprintf?
【发布时间】:2015-05-25 02:20:23
【问题描述】:

首先,如何在 FreeBSD 中获取已加载内核模块的堆栈起始地址和结束地址?

第二,如何将uprintfprintfiprintf的输出全部取出来?通常当内核崩溃时,一些打印输出的结果会丢失。有什么方法可以“刷新”它们?

【问题讨论】:

    标签: stack kernel printf freebsd kernel-module


    【解决方案1】:

    您可以使用stack(9) 获取内核线程的堆栈跟踪。但是模块本身没有堆栈。

    为尽可能确保捕获输出,请使用printf(9)log(9)。这些将记录到系统日志。

    【讨论】:

    • 我指的是 stack 地址,而不是 code/.text 地址。
    猜你喜欢
    • 1970-01-01
    • 2017-01-22
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 2015-02-13
    • 1970-01-01
    相关资源
    最近更新 更多