Re: How to get stack from every thread when doing crash dump?

From: Marcel Moolenaar (marcel_at_xcllnt.net)
Date: 06/24/05

  • Next message: Peter Wemm: "Re: Kernel Dump"
    Date: Thu, 23 Jun 2005 17:45:14 -0700
    To: Howard <howardsue@gmail.com>
    
    

    On Jun 23, 2005, at 5:39 PM, Howard wrote:

    > 2005/6/24, Marcel Moolenaar <marcel@xcllnt.net>: On Jun 23, 2005, at
    > 3:20 AM, Xin LI wrote:
    >>
    >> > One problem with the mini-dump is that, since the mini-dump
    >> utilizes:
    >> >       dump_write((char *)curthread->td_kstack,
    >> curthread->td_kstack_pages *
    >> > PAGE_SIZE);
    >> >
    >> > To write out the stack, and at the point before exception.S,
    >> curthread
    >> > has
    >> > been changed, we can only obtain the stack from the current thread,
    >> > which
    >> > may not be enough for analyzing the backtrace.  What can we do to
    >> > improve
    >> > this situation?
    >>
    >> You can iterate over all the threads. Take a look at
    >>        src/sys/kern/subr_kdb.c
    >> or
    >>        src/gnu/usr.bin/gdb/kgdb/kthr.c
    >>
    >> In particular:
    >> Use the list of all processes (allproc) to iterate over the
    >> processeses and for each process walk the list of threads
    >> and for each thread dump the stack, registers and other data. 
    > However is dumping the td_kstack_pages enough to get one thread's
    > stack? We found the stack is not completed.

    What do you mean with "not completed"?

    -- 
      Marcel Moolenaar         USPA: A-39004          marcel@xcllnt.net
    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
    

  • Next message: Peter Wemm: "Re: Kernel Dump"

    Relevant Pages

    • Re: How to get stack from every thread when doing crash dump?
      ... On Jun 23, 2005, at 3:20 AM, Xin LI wrote: ... > To write out the stack, and at the point before exception.S, curthread ... You can iterate over all the threads. ...
      (freebsd-arch)
    • Re: How to get stack from every thread when doing crash dump?
      ... >> To write out the stack, and at the point before exception.S, curthread ... > You can iterate over all the threads. ... > Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net ...
      (freebsd-arch)
    • Re: foreach and stack, iterating from the bottom-up?
      ... precise) and I was a bit surprised that it seems to iterate from the ... bottom up. ... Stack extends Vector, Vector implements List, List.iterator has very ... Also, generally you don't "Iterate" stacks, you push onto and pop from ...
      (comp.lang.java.programmer)
    • Re: pop method question
      ... A stack is defined to be an "ordered" list data ... does anyone know why the python core has this pop method ... implemented for a dictionary type? ... # can't iterate over the dictionary directly! ...
      (comp.lang.python)
    • Re: foreach and stack, iterating from the bottom-up?
      ... precise) and I was a bit surprised that it seems to iterate from the ... bottom up. ... Most likely an unwelcome consequence of implementing Stack ... Stack would be at the high-index end of the Vector (to avoid ...
      (comp.lang.java.programmer)

  • Quantcast