From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 24 Aug 2005 18:33:58 -1000 From: Tim Newsham To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] rdbfs In-Reply-To: <5ee344bb91dbfd0f818b683a68a31583@coraid.com> Message-ID: References: <5ee344bb91dbfd0f818b683a68a31583@coraid.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Topicbox-Message-UUID: 7e1a8748-ead0-11e9-9d60-3106f5b1d025 > acid: lstk() > :2: (error) no stack frame I used rdbfs often when working with sparc, but over tcp (minor mods to rdbfs to not set baud, and then a small shim to invoke it on an fd from dial()) since the computer was connected to the serial port of a non-plan9 computer. As for the stack frame -- I found it useful to modify the acid startup files (/sys/lib/acid/*) to allow you to pick which set of registers to use. This lets you set the registers to some ureg location such as the ureg's at the time of an exception/trap so that you can trace back from that point. The changes are fairly straightforward -- read registers from offsets starting at the specified address rather than from offset zero. The big change is altering all accesses to registers to go through the ureg pointer (which would default to zero for real registers). You can also try to manually interpret the stack frame, but its a bit tedious without frame pointers. Tim Newsham http://www.lava.net/~newsham/