Date: Sat, 25 Jul 2015 11:11:32 +0200 From: Kristof Provost <kp@FreeBSD.org> To: HeTak <hetakcoder@gmail.com> Cc: freebsd-hackers <freebsd-hackers@freebsd.org> Subject: Re: Kernel Debug Howto Message-ID: <514DDE7F-CF61-461D-A9FF-232DC938BDF5@FreeBSD.org> In-Reply-To: <CAGyHxXWFwU%2Ba-S62DJA==UagFFvFxwpiw0Zmht6O-ppS-ddx%2Bg@mail.gmail.com> References: <CAGyHxXWFwU%2Ba-S62DJA==UagFFvFxwpiw0Zmht6O-ppS-ddx%2Bg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 25 Jul 2015, at 10:54, HeTak <hetakcoder@gmail.com> wrote: > I have recently started some developments on FreeBSD net section. Great! > But I am kinda new to this field. My base interest is to first = understand the > implementation structure via tracing the code and so. >=20 > I have three major questions: > 1- how to debug changes made to FreeBSD kernel? > (You know, till some levels, I can even use uprintf or so, but, for = example > inside radix.c (where I wanna understand how a route is checked to be > unique and then inserted to the tree) I can't do such checks..) dtrace can be quite useful to understand flows. You can grab stack = traces (i.e. figure out where things are called from), get function arguments, = =E2=80=A6 > 2- are there standards there for freebsd kernel developments of which = I can > follow so my job gets a bit simplified? > (Any development guides or so?I prospect it to be some differences = between > system developments and normal coding, but I don't have an idea on how = to > get that). There=E2=80=99s style(9) for coding style. I=E2=80=99d also recommend "The Design and Implementation of the FreeBSD = Operating System=E2=80=9D (the second edition). > 3- what is the fastest way to apply changes to FreeBSD kernel? > (For now, I just follow the normal build & install kernel & reboot.) I pretty much do that. Depending on what you=E2=80=99re working on it = might be easier to run it in a VM. My work lately has been on the network code, so a VM is very convenient. It=E2=80=99s not so useful if you=E2=80=99re working on drivers, of = course. Regards, Kristof=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?514DDE7F-CF61-461D-A9FF-232DC938BDF5>