emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Stak dump with tar.[bz2/gz] files (Cygwin)


From: Angelo Graziosi
Subject: Re: Stak dump with tar.[bz2/gz] files (Cygwin)
Date: Fri, 13 Jun 2008 17:53:40 +0200
User-agent: Thunderbird 2.0.0.14 (Windows/20080421)

Eli Zaretskii ha scritto:

Inside GDB, type "info symbol 0xNNNNNNNN" for each of the above lines,
where NNNNNNNN is the number in the "Function" column.  This should
display the name of each function in the stack dump.

Some results:

[...]
3 [sig] emacs 3908 open_stackdumpfile: Dumping stack trace to emacs.exe.stackdump

Program exited with code 0103000.
(gdb) info symbol 0x7C802542
WaitForSingleObject + 18 in section .text
(gdb) info symbol 0x61097F34
sig_send(_pinfo*, siginfo_t&, _cygtls*) + 2788 in section .text
(gdb) info symbol 0x61095ACB
_pinfo::kill(siginfo_t&) + 235 in section .text
(gdb) info symbol 0x61095FAB
kill0(int, siginfo_t&) + 107 in section .text
(gdb) info symbol 0x61096162
kill + 66 in section .text
(gdb) info symbol 0x61093588
_sigbe in section .text
(gdb) info symbol 0x61017BE0
_cygtls::call_signal_handler() + 144 in section .text
(gdb) info symbol 0x61098028
sig_send(_pinfo*, siginfo_t&, _cygtls*) + 3032 in section .text
(gdb) info symbol 0x61095ACB
_pinfo::kill(siginfo_t&) + 235 in section .text
(gdb) info symbol 0x61095FAB
kill0(int, siginfo_t&) + 107 in section .text
(gdb) info symbol 0x61096162
kill + 66 in section .text
(gdb) info symbol 0x61093588
_sigbe in section .text
(gdb) info symbol 0x0056A345
r_re_alloc + 149 in section .text
(gdb) info symbol 0x004C7C6F
enlarge_buffer_text + 47 in section .text
(gdb) info symbol 0x004D188C
make_gap_larger + 60 in section .text
(gdb) info symbol 0x004D2850
insert_from_string_1 + 544 in section .text


Also, you can
type "list *0xNNNNNNNN" (note the asterisk: it's important), which
will show the source around the addresses in the stack dump.  That, at
least, will glean some useful information from this gobbledygook.

idem:

(gdb) list *0x7C802542
No source file for address 0x7c802542.
(gdb) list *0x61097F34
No source file for address 0x61097f34.
(gdb) list *0x61095ACB
No source file for address 0x61095acb.
(gdb) list *0x61095FAB
No source file for address 0x61095fab.
(gdb) list *0x61096162
No source file for address 0x61096162.
(gdb) list *0x61093588
No source file for address 0x61093588.
(gdb) list *0x61017BE0
No source file for address 0x61017be0.
(gdb) list *0x61098028
No source file for address 0x61098028.
(gdb) list *0x61095ACB
No source file for address 0x61095acb.
(gdb) list *0x61095FAB
No source file for address 0x61095fab.
(gdb) list *0x61096162
No source file for address 0x61096162.
(gdb) list *0x61093588
No source file for address 0x61093588.
(gdb) list *0x0056A345
0x56a345 is in r_re_alloc (/work/emacs-23.0.60/src/ralloc.c:1016).
1011         SIZE size;
1012    {
1013      register bloc_ptr bloc;
1014
1015      if (! r_alloc_initialized)
1016        r_alloc_init ();
1017
1018      if (!*ptr)
1019        return r_alloc (ptr, size);
1020      if (!size)
(gdb) list *0x004C7C6F
0x4c7c6f is in enlarge_buffer_text (/work/emacs-23.0.60/src/buffer.c:5056).
5051      p = r_re_alloc ((POINTER_TYPE **) &b->text->beg, nbytes);
5052    #else
5053      p = xrealloc (b->text->beg, nbytes);
5054    #endif
5055
5056      if (p == NULL)
5057        {
5058          UNBLOCK_INPUT;
5059          memory_full ();
5060        }
(gdb) list *0x004D188C
0x4d188c is in make_gap_larger (/work/emacs-23.0.60/src/insdel.c:529).
524         error ("Buffer exceeds maximum size");
525
526       enlarge_buffer_text (current_buffer, nbytes_added);
527
528       /* Prevent quitting in move_gap.  */
529       tem = Vinhibit_quit;
530       Vinhibit_quit = Qt;
531
532       real_gap_loc = GPT;
533       real_gap_loc_byte = GPT_BYTE;
(gdb) list *0x004D2850
0x4d2850 is in insert_from_string_1 (/work/emacs-23.0.60/src/insdel.c:1107).
1102      prepare_to_modify_buffer (PT, PT, NULL);
1103
1104      if (PT != GPT)
1105        move_gap_both (PT, PT_BYTE);
1106      if (GAP_SIZE < outgoing_nbytes)
1107        make_gap (outgoing_nbytes - GAP_SIZE);
1108      UNGCPRO;
1109
1110      /* Copy the string text into the buffer, perhaps converting
1111         between single-byte and multibyte.  */

If the above infos are useful, we are very fortunate...

Cheers,
   Angelo.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]