【问题标题】:Freebsd printf location in kernelFreebsd printf 在内核中的位置
【发布时间】:2016-02-03 19:04:50
【问题描述】:

我正在尝试修改 FreeBSD 10 中的调度程序,因此我希望能够进行一些打印来测试。我目前正在修改 /usr/src/sys/kern/kern_switch.c 并在 runq_add() 中添加了 printf("PRIORITY = %u\n", (unsigned int)pri);打印出线程的优先级。我不知道这是否有效,因为我还没有找到它的打印位置。如何查看 printf 的输出或者是否有更好的方法来测试内核中的代码?

【问题讨论】:

    标签: printing kernel scheduler freebsd


    【解决方案1】:

    内核 printf() 打印到控制台,因此您可以查看它是否有效。除非它使内核崩溃或死锁。因此,首先要确保使用 INVARIANTS 和 WITNESS 构建内核。对于开发而言,无论如何都希望启用它们,除了基准测试之外的所有情况。

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 2015-05-25
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      相关资源
      最近更新 更多