Date: Tue, 05 Apr 2011 15:49:01 -0700 From: Julian Elischer <julian@freebsd.org> To: Navdeep Parhar <nparhar@gmail.com> Cc: Justin Hibbits <chmeeedalf@gmail.com>, FreeBSD Current <current@freebsd.org> Subject: Re: KGDB stack traces in the kernel. Message-ID: <4D9B9C5D.4000909@freebsd.org> In-Reply-To: <BANLkTinPdVUac6YGwf4GvOE7gtndbQERaQ@mail.gmail.com> References: <4D9A4CE5.5090900@freebsd.org> <ACA0C058-28F4-4A0E-B9EC-E26E35219449@gmail.com> <4D9B7C92.6030901@freebsd.org> <BANLkTinPdVUac6YGwf4GvOE7gtndbQERaQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 4/5/11 1:35 PM, Navdeep Parhar wrote: > On Tue, Apr 5, 2011 at 1:33 PM, Julian Elischer<julian@freebsd.org> wrote: >> On 4/4/11 6:04 PM, Justin Hibbits wrote: >>> On Apr 4, 2011, at 6:57 PM, Julian Elischer wrote: >>>> is there anyone here with enough gdb/kgdb source experience to know what >>>> we would need to put on the stack at fork_exit() to make it stop when it >>>> gets there? >>>> >>>> not only is it annoying but it slows down debugging because kgdb and the >>>> ddd >>>> front end ask for stacks a LOT. sometimes it actually just hangs as the >>>> stack >>>> goes into a loop and never ends. >>>> >>>> I had a quick look but didn't spot how gdb decides it has reached the end >>>> of a stack. >>>> >>>> Julian >>> From my experience, it checks for a NULL stack chain pointer. Once that >>> reaches NULL, it's the end of the stack. >>> >>> - Justin >>> >> I'll try adding NULL when we build the intial stack up. >> :-) > What does ddb do? It always seems to get this stuff correct. > > Navdeep it has all sorts of special code that knows the intricacies of freebsd's stack. (k)gdb only knows more generic stuff. hmmm set 0 into the saved ebp bit that didn't help.. I'll play a bit more
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D9B9C5D.4000909>