内核中的Freebsd printf位置

时间:2016-02-03 19:04:50

标签: printing kernel scheduler freebsd

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

1 个答案:

答案 0 :(得分:0)

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