gpt4 book ai didi

multithreading - 我需要在FreeBSD中跟踪我的内核,由于更改了调度程序,它在启动时卡住了,我该怎么做?

转载 作者:行者123 更新时间:2023-12-03 13:04:26 25 4
gpt4 key购买 nike

我正在修改我的调度程序,这导致它卡住了(因为我无法正确实现它,并且我没有拿起我扔在队列中的东西)。所以我想看看它能走多远。启动kernel.old时,如何将内容写入日志,然后如何读取该日志

我将线程放入一组新的队列中,而不是传统的3个runq(每个64个队列)。要遍历并选择线程,我正在使用TAILQ_FOREACH。

最佳答案

你做错了。

您应该做的是运行一个支持调试器(例如qemu或bhyve)的管理程序。然后,将gdb附加到引导的内核,并检查崩溃状态。

原则上,您可以/可以/有一个日志,您可以在其中写入内容,并在启动失败后检索该内容,但是我不知道为什么要这么做。实现此目的的最简单方法是简单地使用printf并可能扩展缓冲区的大小,以便可以容纳更多消息。内核始终将日志放在相同的位置,并在引导时检查魔数(Magic Number),以便知道是从头开始还是开始追加。然后,可以在dmesg和/var/log/messages中找到该日志。但是如前所述,并不是做到这一点的方式

关于multithreading - 我需要在FreeBSD中跟踪我的内核,由于更改了调度程序,它在启动时卡住了,我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35261096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com