Hi list, may I suggest that you have a look at http://www.hpl.hp.com/research/linux/libunwind/intro.php4
To quote the page: "The primary goal of this project is to define a portable and efficient C programming interface (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain (non-local goto). The API supports both local (same-process) and remote (across-process) operation. As such, the API is useful in a number of applications. Some examples include:
exception handling The libunwind API makes it trivial to implement the stack-manipulation aspects of exception handling."
Might be exactly what you are all looking for.
Regards Jörg
__________________________________________________________________ Try AOL and get 1045 hours FREE for 45 days! http://free.aol.com/tryaolfree/index.adp?375380
Get AOL Instant Messenger 5.1 for FREE! Download Now! http://aim.aol.com/aimnew/Aim/register.adp?promo=380455
On Wednesday 07 May 2003 02:52 am, jpo234@netscape.net wrote:
Hi list, may I suggest that you have a look at http://www.hpl.hp.com/research/linux/libunwind/intro.php4
To quote the page: "The primary goal of this project is to define a portable and efficient C programming interface (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain (non-local goto). The API supports both local (same-process) and remote (across-process) operation. As such, the API is useful in a number of applications. Some examples include:
exception handling The libunwind API makes it trivial to implement the stack-manipulation aspects of exception handling."
Might be exactly what you are all looking for.
The license looks wine-compatible, but it's ia-64 specific for now :(
gmt
Gregory M. Turner wrote:
On Wednesday 07 May 2003 02:52 am, jpo234@netscape.net wrote:
Hi list, may I suggest that you have a look at http://www.hpl.hp.com/research/linux/libunwind/intro.php4
To quote the page: "The primary goal of this project is to define a portable and efficient C programming interface (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain (non-local goto). The API supports both local (same-process) and remote (across-process) operation. As such, the API is useful in a number of applications. Some examples include:
exception handling The libunwind API makes it trivial to implement the stack-manipulation aspects of exception handling."
Might be exactly what you are all looking for.
The license looks wine-compatible, but it's ia-64 specific for now :(
gmt
From the README:
This is version 0.92 of the unwind library. At the moment, only the IA-64 Linux (IPF Linux) platform is fully supported. Some very basic support for x86 exists also. However, the x86 support is based purely on the frame-chain and does not use unwind information, so its utility is limited.
Don't know how useful that would be, but it seems like if this is the right kind of tool, the x86 support could either be extended as much as is neccessary to handle exceptions or the algorithms could be looked at and lifted out...
David
On Thursday 08 May 2003 01:54 am, David Fraser wrote:
Don't know how useful that would be, but it seems like if this is the right kind of tool, the x86 support could either be extended as much as is neccessary to handle exceptions or the algorithms could be looked at and lifted out...
David
yep. I do have the source for this, but it's somewhat obtuse ;) If there's stuff we can lift I will figure it out, or give myself an anurism trying.