This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 2/2] Add debug trace in amd64-windows-tdep.c::amd64_windows_frame_decode_insns
- From: Joel Brobecker <brobecker at adacore dot com>
- To: gdb-patches at sourceware dot org
- Date: Fri, 1 Aug 2014 06:59:54 -0700
- Subject: [PATCH 2/2] Add debug trace in amd64-windows-tdep.c::amd64_windows_frame_decode_insns
- Authentication-results: sourceware.org; auth=none
- References: <1406901594-17642-1-git-send-email-brobecker at adacore dot com>
This is a trace which would have been useful when trying to understand
why the debugger was not decoding the stream of unwind codes I was
expecting. This patch adds a trace first informing us that we are
following the unwind info to the next unwind record in that chain.
gdb/ChangeLog:
* amd64-windows-tdep.c (amd64_windows_frame_decode_insns):
Add debug trace.
---
gdb/ChangeLog | 5 +++++
gdb/amd64-windows-tdep.c | 9 +++++++++
2 files changed, 14 insertions(+)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 939fd20..2d50d35 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,6 +1,11 @@
2014-08-01 Joel Brobecker <brobecker@adacore.com>
* amd64-windows-tdep.c (amd64_windows_frame_decode_insns):
+ Add debug trace.
+
+2014-08-01 Joel Brobecker <brobecker@adacore.com>
+
+ * amd64-windows-tdep.c (amd64_windows_frame_decode_insns):
Remove "+ 8" offset in computation of CHAIN_VMA.
2014-07-31 Doug Evans <dje@google.com>
diff --git a/gdb/amd64-windows-tdep.c b/gdb/amd64-windows-tdep.c
index cb1bac7..f90bd5b 100644
--- a/gdb/amd64-windows-tdep.c
+++ b/gdb/amd64-windows-tdep.c
@@ -837,6 +837,15 @@ amd64_windows_frame_decode_insns (struct frame_info *this_frame,
extract_unsigned_integer (d.rva_EndAddress, 4, byte_order);
unwind_info =
extract_unsigned_integer (d.rva_UnwindData, 4, byte_order);
+
+ if (frame_debug)
+ fprintf_unfiltered
+ (gdb_stdlog,
+ "amd64_windows_frame_decodes_insn (next in chain):"
+ " unwind_data=%s, start_rva=%s, end_rva=%s\n",
+ paddress (gdbarch, unwind_info),
+ paddress (gdbarch, cache->start_rva),
+ paddress (gdbarch, cache->end_rva));
}
/* Allow the user to break this loop. */
--
1.9.1