HELP! pstack description...

Ask a Question related to UNIX Programming, Design and Development.

  1. #1

    Default HELP! pstack description...


    I'm new to this forum and I just started to used "pstack". However, can
    anyone tell me how to read the pstack? Like I know the first set of
    number is the return address of the function and then is the function
    name and I dont know the rest of it? What does those 6 paramters stand
    for and what about the last number with a + sign infront of it??? The
    following is an example....please help!!


    ----------------- lwp# 3 / thread# 11 --------------------
    0002b608 _ZN10imaSPAgent10OpenStreamEPiR15imaQueryProcDef (0, fd70d28c,
    10de00, fef3569c, 0, cf7a8) + 6b8
    0002c3c4 _ZN10imaSPAgent4ExecEPiR15imaQueryProcDef (0, fd70d28c,
    10de00, 106e6c, 0, fefa33dc) + 1c
    0002edd0 _ZN12imaSPManager12RunProcedureEPiR15imaQueryProcD ef
    (fd70d6a8, fd70d494, 10de00, 14e46c, 0, 0) + 178
    000264cc _ZN10imaQuerySP7ExecuteER10imaMessage (fd70d6a8, fd70d618,
    fd70d5a0, fd70d648, 181d2c, 85934) + 115c
    000327f0 _Z18QueryMgrThreadProcPv (ffbefa78, fe7b4798, 0, 5, 1,
    fe401000) + 1390
    fe79bad0 _thread_start (ffbefa78, 0, 0, 0, 0, 0) + 40

    --
    Posted via [url]http://dbforums.com[/url]
    williechoi Guest

  2. Similar Questions and Discussions

    1. command similar to pstack on AIX433
      Hi, Is there any command similar to pstack on AIX433. I try using dbx like 'dbx <prog_name> <core file> ' but it gives error Type...
    2. Description of onstat -C
      On Wed, 27 Aug 2003 03:24:08 -0400, Oxow wrote: Outstanding requests are requests for the BTREE-CLEANER thread to clean some index. ...
    3. Associate a description to a jpg
      Hi! I hope somebody can help me: In my web page there are some buttons that allow to load several jpeg pictures in the same main movie,I created...
    4. Help in analyzing the pstack when JVM Freeze
      I was wondering if anyone could help in analyzing the pstack output taken when the JVM was hung and would not respond to any kill -3 signals. I...
    5. HW description -> NIC names
      Hello All, I need to automatically generate the list of available network interface names (in the form like...
  3. #2

    Default Re: HELP! pstack description...

    In article <3170236.1059662837@dbforums.com>,
    williechoi <member34679@dbforums.com> writes:
    >
    > I'm new to this forum and I just started to used "pstack". However, can
    > anyone tell me how to read the pstack? Like I know the first set of
    > number is the return address of the function and then is the function
    > name and I dont know the rest of it? What does those 6 paramters stand
    > for and what about the last number with a + sign infront of it??? The
    > following is an example....please help!!
    It would really help if you said which OS and which processor.
    I'm guessing this is Solaris on sparc, and if it isn't, my
    answer is garbage (might be garbage anyway;-)

    The 6 parameters are the function call parameters.
    sparc gives you 6 function call parameters for free due to
    the way it's register windows work. If your function took
    less than 6, then the extras are undefined. If it took more
    than 6, the extras are on the stack and not shown.
    There's a nasty gotcha here though. The values displayed
    are the _current_ values of the registers, and it's possible
    that the function itself will have reused these registers for
    something else, so they may no longer hold the original entry
    values. You would have to disassemble the function to see if
    it was reusing one of the registers as local workspace.
    The '+' value is how far into the function it got before,
    typically, calling the function listed above.
    > ----------------- lwp# 3 / thread# 11 --------------------
    > 0002b608 _ZN10imaSPAgent10OpenStreamEPiR15imaQueryProcDef (0, fd70d28c,
    > 10de00, fef3569c, 0, cf7a8) + 6b8
    > 0002c3c4 _ZN10imaSPAgent4ExecEPiR15imaQueryProcDef (0, fd70d28c,
    > 10de00, 106e6c, 0, fefa33dc) + 1c
    > 0002edd0 _ZN12imaSPManager12RunProcedureEPiR15imaQueryProcD ef
    > (fd70d6a8, fd70d494, 10de00, 14e46c, 0, 0) + 178
    > 000264cc _ZN10imaQuerySP7ExecuteER10imaMessage (fd70d6a8, fd70d618,
    > fd70d5a0, fd70d648, 181d2c, 85934) + 115c
    > 000327f0 _Z18QueryMgrThreadProcPv (ffbefa78, fe7b4798, 0, 5, 1,
    > fe401000) + 1390
    > fe79bad0 _thread_start (ffbefa78, 0, 0, 0, 0, 0) + 40
    At offset 40 into thread start(), it called
    _Z18QueryMgrThreadProcPv (ffbefa78, fe7b4798, 0, 5, 1,fe401000),
    and at 1390 into _Z18QueryMgrThreadProcPv(), it called
    _ZN10imaQuerySP7ExecuteER10imaMessage (fd70d6a8, fd70d618, fd70d5a0, fd70d648, 181d2c, 85934)
    etc.
    Again, note the shown parameters are not necessarily what was really
    passed. I presume you also need to do some function name demangling
    to get the real function names.

    --
    Andrew Gabriel
    Consultant Software Engineer
    Andrew Gabriel Guest

  4. #3

    Default Re: HELP! pstack description...

    williechoi wrote:
    >
    > I'm new to this forum and I just started to used "pstack". However, can
    > anyone tell me how to read the pstack? Like I know the first set of
    > number is the return address of the function and then is the function
    > name and I dont know the rest of it? What does those 6 paramters stand
    > for and what about the last number with a + sign infront of it??? The
    pstack is a low-level debugging tool. It does not know the signature
    of your functions, that is it does not know how many arguments your
    functions take, so it simply displays the six first values found
    on the stack. Furthermore, it does not know C++ name mangling, so
    your function names look funny. You have to decipher them yourselves
    (by qualified guessing from the legible names).
    > ----------------- lwp# 3 / thread# 11 --------------------
    > 0002b608 _ZN10imaSPAgent10OpenStreamEPiR15imaQueryProcDef (0, fd70d28c,
    > 10de00, fef3569c, 0, cf7a8) + 6b8
    > 0002c3c4 _ZN10imaSPAgent4ExecEPiR15imaQueryProcDef (0, fd70d28c,
    > 10de00, 106e6c, 0, fefa33dc) + 1c
    In general, in C++ the 'this' pointer is passed as the first argument
    (although you do not see this in the C++ sourcecode.) As the first
    argument is zero in the above line, there is a good chance that you
    have called a method on an uninstantiated object in the function
    below.
    > 0002edd0 _ZN12imaSPManager12RunProcedureEPiR15imaQueryProcD ef
    > (fd70d6a8, fd70d494, 10de00, 14e46c, 0, 0) + 178
    > 000264cc _ZN10imaQuerySP7ExecuteER10imaMessage (fd70d6a8, fd70d618,
    > fd70d5a0, fd70d648, 181d2c, 85934) + 115c
    > 000327f0 _Z18QueryMgrThreadProcPv (ffbefa78, fe7b4798, 0, 5, 1,
    > fe401000) + 1390
    > fe79bad0 _thread_start (ffbefa78, 0, 0, 0, 0, 0) + 40
    Bjorn Reese Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139