From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29779 invoked by alias); 3 Mar 2008 04:15:31 -0000 Received: (qmail 29770 invoked by uid 22791); 3 Mar 2008 04:15:30 -0000 X-Spam-Check-By: sourceware.org Received: from wr-out-0506.google.com (HELO wr-out-0506.google.com) (64.233.184.232) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 03 Mar 2008 04:15:13 +0000 Received: by wr-out-0506.google.com with SMTP id c30so28015wra.23 for ; Sun, 02 Mar 2008 20:15:11 -0800 (PST) Received: by 10.35.60.15 with SMTP id n15mr20294683pyk.33.1204517710565; Sun, 02 Mar 2008 20:15:10 -0800 (PST) Received: by 10.35.114.5 with HTTP; Sun, 2 Mar 2008 20:15:10 -0800 (PST) Message-ID: <145797ba0803022015vea67cf7y7d2a5605e110c850@mail.gmail.com> Date: Mon, 03 Mar 2008 04:15:00 -0000 From: "Brandon Diamond" To: insight@sourceware.org Subject: Extending Insight MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Mailing-List: contact insight-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: insight-owner@sourceware.org X-SW-Source: 2008-q1/txt/msg00067.txt.bz2 Hello, My name is Brandon, and I'm currently an undergraduate CS major at Brown University. As part of some course improvement work for an OS class at Brown, I'm looking to build a few GDB extensions to allow students to explore our kernel more intuitively at "debug-time" (i.e., explore the page tables, page directories, system registers [CR3, CR2], shared pages and so forth). Previously, I had worked with a partner to convert our toy OS ("Weenix") to run on the Xen hypervisor; this has allowed us to utilize GDB to debug the kernel. The next step would be to organize the information GDB gives us into a more useful view. In researching this project, I stumbled upon a few screenshots of Insight-- and boy did it look great! Having multiple floating windows to fill with assembly, source code, memory, and so on would be a huge improvement on its own (especially over the TUI)-- if I could write a plugin to do the extra visualization I had in mind (i.e., displaying the page tables as a tree, among others) it would be absolutely perfect. Alas, it seems that Insight does not come with a plugin interface and that adding new windows would require a fair amount of C & Tcl. The good news is that I'm quite familiar with C; the bad news is that I've never written Tcl before. Thus, it is with a great deal of hope that I pose the following questions (I'd be extremely grateful for any pointers or advice any developers on the list might be able to offer!) - With a strong background in C and a virtually non-existent background in Tcl, - Would it be possible to implement additional windows containing varied UI components within a reasonable amount of time? - Could it be done in 1-3 weeks? - Would a working knowledge of TCL suffice, or would I have to go pro? (if I could get by with minimal knowledge, is there a quick-start tutorial that you'd recommend?) - Is the Insight source & design amenable to these modification-- or would this be a huge undertaking? (i.e., I'd have to read all of the code to even get started and break a bunch of abstractions in so doing) Finally, if Insight is the wrong place for me to start, does anyone know of a similar project that I might have a better chance of extending? Thank you VERY much for your help! Sincerely, Brandon Diamond