"correct" stack trace in gdb
egor duda
deo@logos-m.ru
Wed Apr 25 23:21:00 GMT 2001
Hi!
several people complained in mailing list recently that when they're
"error_start"ing gdb or dumper to analyze crashes, they see "incorrect"
stack traces -- without the frame of function which had actually crashed.
this patch is supposed to fix this problem, but it has a drawback of
stripping handle_exception() and try_to_debug() frames from stack
trace.
2001-04-24 Egor Duda <deo@logos-m.ru>
* exceptions.cc (try_to_debug): store exception context in shared
memory area. Create signalling event before starting debugger.
(handle_exceptions): Pass exception context to debugger.
* winsup.h (try_to_debug): Change prototype.
* include/sys/cygwin.h: Add structure for passing data to debugger.
2001-04-24 Egor Duda <deo@logos-m.ru>
* dumper.cc (dumper::collect_process_information): Change name of
signalling event to match with cygwin1.dll
(dumper::write_core_dump): Get exception context from shared
memory area and store it as context of appropriate thread.
2001-04-24 Egor Duda <deo@logos-m.ru>
* win32-nat.c (struct thread_info_struct): Add exception context
information.
(get_thread_context): New function.
(do_child_fetch_inferior_registers): Use it.
(do_child_store_inferior_registers): Ditto.
(get_exception_context_info): Get exception context from shared
memory area.
(handle_exception): Fix typo.
(get_child_debug_event): Store pid of current process. Get exception
context from debuggee.
egor. mailto:deo@logos-m.ru icq 5165414 fidonet 2:5020/496.19
exception-on-stack-gdb.ChangeLog
exception-on-stack-gdb.diff
exception-on-stack-winsup-cygwin.ChangeLog
exception-on-stack-winsup-cygwin.diff
exception-on-stack-winsup-utils.ChangeLog
exception-on-stack-winsup-utils.diff
-------------- next part --------------
2001-04-24 Egor Duda <deo@logos-m.ru>
* win32-nat.c (struct thread_info_struct): Add exception context
information.
(get_thread_context): New function.
(do_child_fetch_inferior_registers): Use it.
(do_child_store_inferior_registers): Ditto.
(get_exception_context_info): Get exception context from shared
memory area.
(handle_exception): Fix typo.
(get_child_debug_event): Store pid of current process. Get exception
context from debuggee.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: exception-on-stack-gdb.diff
Type: text/x-diff
Size: 3716 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20010425/de9ac3c3/attachment.bin>
-------------- next part --------------
2001-04-24 Egor Duda <deo@logos-m.ru>
* exceptions.cc (try_to_debug): store exception context in shared
memory area. Create signalling event before starting debugger.
(handle_exceptions): Pass exception context to debugger.
* winsup.h (try_to_debug): Change prototype.
* include/sys/cygwin.h: Add structure for passing data to debugger.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: exception-on-stack-winsup-cygwin.diff
Type: text/x-diff
Size: 3778 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20010425/de9ac3c3/attachment-0001.bin>
-------------- next part --------------
2001-04-24 Egor Duda <deo@logos-m.ru>
* dumper.cc (dumper::collect_process_information): Change name of
signalling event to match with cygwin1.dll
(dumper::write_core_dump): Get exception context from shared
memory area and store it as context of appropriate thread.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: exception-on-stack-winsup-utils.diff
Type: text/x-diff
Size: 2021 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20010425/de9ac3c3/attachment-0002.bin>
More information about the Cygwin-patches
mailing list