I proberbly didn't uderstand you correct. I did the following.
Booted from SMP_DEBUG kernel and it crashed. Secondly I booted from a working kernel and
#cd  /usr/obj/usr/src/sys/SMP_DEBUG
#gdb /usr/obj/usr/src/sys/SMP_DEBUG
gdb> list *0xc061a5e7

It gave this back:

(gdb) list *0xc061a5e7
0xc061a5e7 is in free (uma_int.h:388).
383 {
384   vm_page_t p;
385   uma_slab_t slab;
386
387   p = PHYS_TO_VM_PAGE(pmap_kextract(va));
388   slab = (uma_slab_t )p->object;
389
390   if (p->flags & PG_SLAB)
391    return (slab);
392   else
(gdb)



John Baldwin wrote:

On Wednesday 29 June 2005 01:52 pm, Hans van Leest wrote:
I got a boot with the new debug kernel, only I got an new instruction
pointer. this one is:
0x8:0xc061a5e7
When I type db> gdb, it replies that it can't find the backend
When I type tr after db> I get a lot of data so I want to use serial
console So I don't have to type it over. Only I get errors

From the howto I did this

cat /etc/ttys
--snip--
# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
ttyd0   "/usr/libexec/getty std.9600"   vt100   on secure
ttyd1   "/usr/libexec/getty std.9600"   vt100   on secure
ttyd2   "/usr/libexec/getty std.9600"   vt100   on secure
ttyd3   "/usr/libexec/getty std.9600"   vt100   on secure

These only let you login over the serial line, you don't need this for the kernel console.

bsd# cat /boot/loader.conf
set console="comconsole"

This should be all you need.

I got error like this:
 bsd init: can't exec getty 'none' for port /dev/console: No such file
or directory

You must have something weird on the 'console' line in /etc/ttys. Normally the getty on that line should be 'off'. The way to grab the output is to use cut and paste or script(1) or some such on the machine that you are talking to the bsd box with, you don't capture the trace info on the bsd machine itself. For example, if you are using some Windows terminal app, you can cut and paste the trace info into notepad and then cut and paste that into an e-mail. If you are using another unix box without X11 as the client end of the console you could use script(1) to log the output to a file.

That said, having the instruction pointer is good. To use that, boot the bsd box, find the kernel.debug from the kernel you built (probably /usr/obj/usr/src/sys/<KERNEL_NAME>/kernel.debug) and run gdb on it like so:

# gdb /path/to/kernel.debug

Then, at the gdb> prompt do a list:

gdb> list *0xc061a5e7


_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-smp
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to