Re: FreeBSD kernel Debugging tools for Virtual Memory Module
Eugene Grosbein writes: > First, you need to recompile source you change for sure :-) > But you have not rebuild all other files all the time. > You need to add to your /etc/src.conf (or /etc/make.conf for 6.x and earlier): > > MODULES_WITH_WORLD=yes > > This will skip rebuilding of all modules during 'make buildkernel' > but you MUST to copy all modules from /boot/kernel to /boot/modules > (all files other than /boot/kernel/kernel*) if you do this. What is the point, if you use NO_KERNELCLEAN as recommended below? The modules won't be rebuilt either unless something that affects them has changed. Running a new kernel with old modules is a great way to shoot yourself in the foot. If you absolutely want to skip modules, build your kernel with -DNO_MODULES, but install it normally, or use reinstallkernel instead of installkernel. The latter will overwrite your running kernel - but you should keep an unmodified kernel around anyway. You can boot entirely without modules if you include everything you need (including acpi) in your kernel config. > Then, if you do not change kernel config file, > recompile your changes with command (only second time and then): > > cd /usr/src; make NO_KERNELDEPEND=yes NO_KERNELCLEAN=yes buildkernel You should not use -DNO_KERNELDEPEND unless you know for sure that no #include directives have been added or removed and no kernel options have changed. It is safe to use -DNO_KERNELCLEAN, but not -DNO_KERNELDEPEND, even if your config file changed. > Second, you should use some kind of virtual machine (like qemu from > ports) to speedup your development cycle even more: install the system > into virtual machine and you'll need not another box to debug the > kernel and need not rebuild your development box. Test your changes > with the system installed into VM and reboot it only. Use ddb or kgdb > already noted here. The best solution by far is to use actual hardware and netboot from your development machine. It's easy to set up, and you don't lose context every time you reboot the test system. DES -- Dag-Erling Smørgrav - d...@des.no ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"
Re: FreeBSD kernel Debugging tools for Virtual Memory Module
On Thu, Jan 01, 2009 at 06:27:44PM -0800, Kamlesh Patel wrote: > I am working on Virtual Memory parts of FreeBSD OS. My Problem is, whenever i > modify little code of vmpage.c file i need to build the whole kernel to check > the modification and i even am not able to debug the kernel code. > > Could anyone please inform me kernel Debugging tools for FreeBSD OS? First, you need to recompile source you change for sure :-) But you have not rebuild all other files all the time. You need to add to your /etc/src.conf (or /etc/make.conf for 6.x and earlier): MODULES_WITH_WORLD=yes This will skip rebuilding of all modules during 'make buildkernel' but you MUST to copy all modules from /boot/kernel to /boot/modules (all files other than /boot/kernel/kernel*) if you do this. Otherwise, you'll lose modules and system may not boot due to missing vital modules like acpi.ko Then, if you do not change kernel config file, recompile your changes with command (only second time and then): cd /usr/src; make NO_KERNELDEPEND=yes NO_KERNELCLEAN=yes buildkernel So, your rebuild time changes drastically: no modules rebuild, no other sources rebuild other that you touched last time. It will relink previously compiled object code with your changes only, that's way much quicker. Reinstall kernel and reboot. Second, you should use some kind of virtual machine (like qemu from ports) to speedup your development cycle even more: install the system into virtual machine and you'll need not another box to debug the kernel and need not rebuild your development box. Test your changes with the system installed into VM and reboot it only. Use ddb or kgdb already noted here. Eugene Grosbein ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"
Re: FreeBSD kernel Debugging tools for Virtual Memory Module
>ddb and kgdb are two useful and often indispensable tools for kernel > debugging on FBSD. ddb won't allow you source level debugging, kgdb will, > but you'll need an extra machine. If the code you are debugging doesn't depend on specific hardware, one option is to run FreeBSD (with the kernel being debugged) under qemu and run kgdb on the host FreeBSD. Something like In Window1 $ qemu -s freebsd-disk-img ... In Window2 $ cd $ kgdb kernel.debug (gdb) target remote localhost:1234 (gdb) detach Ending remote debugging. (gdb) q $ Note: I have not tried this recently but it should work. > AFAIK, if you are modifying the kernel source directly there is no option > but to recompile all the changed and dependent files. Well... there used to be a debugger called ups with a builtin C interpreter. It allowed you to add code at run time. This was quite handy when you wanted to temporarily patch things up and continue debugging or set conditional breakpoints or insert assertion verification code on the fly. The C interpreter is worth adding to gdb but I am not sure if any of ups code can be reused. See http://ups.sourceforge.net/ ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"
Re: FreeBSD kernel Debugging tools for Virtual Memory Module
On Fri, Jan 2, 2009 at 7:57 AM, Kamlesh Patel wrote: > Hi Friends, Happy New Year, > > I am working on Virtual Memory parts of FreeBSD OS. My Problem is, whenever > i modify little code of vmpage.c file i need to build the whole kernel to > check the modification and i even am not able to debug the kernel code. > > Could anyone please inform me kernel Debugging tools for FreeBSD OS? > Hi, ddb and kgdb are two useful and often indispensable tools for kernel debugging on FBSD. ddb won't allow you source level debugging, kgdb will, but you'll need an extra machine. Dtrace from the Solaris world is being ported to FBSD, that too can be useful at times. You can find more information in the FBSD developers handbook here - http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug.html AFAIK, if you are modifying the kernel source directly there is no option but to recompile all the changed and dependent files. I do not know whether it works out of the box, but you can try using ccache to speed up the compilation. HTH. Best regards, Pranav http://pranavsbrain.peshwe.com ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"
Re: FreeBSD kernel Debugging tools for Virtual Memory Module
Hi kamlesh, Happy New Year. I am not aware of the debugging tools in freebsd available right now in the market. But I am working on a virtual mode freebsd project similar to what UML does in linux. This will help in executing the entire OS in the user space of real OS running on HW. This will be the best debugging tool to debug all the non architecture specific code in freebsd. The project is specially catered to problems similar to what you are facing. We are expecting the project to be completed in next 3 months. Regards, Mehul On Fri, Jan 2, 2009 at 7:57 AM, Kamlesh Patel wrote: > Hi Friends, Happy New Year, > > I am working on Virtual Memory parts of FreeBSD OS. My Problem is, whenever > i modify little code of vmpage.c file i need to build the whole kernel to > check the modification and i even am not able to debug the kernel code. > > Could anyone please inform me kernel Debugging tools for FreeBSD OS? > > Kamlesh > MS CS, CSUS > > > > > ___ > freebsd-questi...@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to " > freebsd-questions-unsubscr...@freebsd.org" > ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"
FreeBSD kernel Debugging tools for Virtual Memory Module
Hi Friends, Happy New Year, I am working on Virtual Memory parts of FreeBSD OS. My Problem is, whenever i modify little code of vmpage.c file i need to build the whole kernel to check the modification and i even am not able to debug the kernel code. Could anyone please inform me kernel Debugging tools for FreeBSD OS? Kamlesh MS CS, CSUS ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"