This is the mail archive of the insight@sourceware.org mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH/gdbtk] Update stackwin gdb api usage


Hi...

Here is a new patch from my side for insight. It adresses 2 issues.

The small one first:
In the tcl code of the stackwindow there is an instance variable maxwidth which is calculated but never used somewhere. My patch dares to remove it.


The bigger one:
I am frequently seeing output in insight on windows 64 bit:

(Internal error: pc 0x0 in read in psymtab, but not in symtab.)

Especially when debugging objectiveC code but can also see in sometimes when debugging plain c. This is triggered by stack unwinding (showing stack window in insight). I tracked it down to 2 problems. One of it is in insight itself and fixed with this patch.

The C code of insight dealing with the backtrace generation was made somewhere in 2001 and remainded largely unchanged since then. It was initially "inspired" by the code directly in gdb. GDB has changed since then in that area. I updated insight's C code for generating the backtrace for the tcl part to match again gdb's code in stack.c. I could remove a bigger bunch of insight's private code in that area and replace it directly with a call to find_frame_funname() of gdb itself. I also removed some dead code here.

From what I could see now insight no longer genarates this error message directly. I could still trigger it in some situations by just issuing a "bt" from either insight's console or from within native gdb. I have to dive into that. But with this patch insight itself should be clean now in this regard.

I also updated copyright informations in the affected files.

Changelog:
2012-04-02  Roland Schwingel  <roland.schwingel@onevision.com>

	* generic/gdbtk-stack.c: Updated copyright informations.
	include "stack.h" and "solib.h" (when needed).
	(gdb_stack): Some reformatting.
	(get_frame_name): Updated usage of gdb api for
        backtrace generation. Some reformatting. Removed
	dead code. Also handle frame type ARCH_FRAME now.
	* library/stackwin.it[bh]: Remove dead instance
	variable maxwidth. Updated copyright informations.

A general question:
The direction of stack dump in insight is opposite to when issueing a backtrace inside gdb itself. Is this on purpose? Wouldn't it be nicer when insight's stack window would show the stack in the same order?


Any comments? Is this ok?

Roland

Attachment: stackwin.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]