[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNUstep stack trace & gnustep-base.dll path

From: Richard Frith-Macdonald
Subject: Re: GNUstep stack trace & gnustep-base.dll path
Date: Thu, 4 May 2006 09:31:40 +0100

On 4 May 2006, at 09:21, David Ayers wrote:

Lloyd Dupont schrieb:

Problem is I would like to replace 'gnustep-base.dll' by a more
multiplatform constant / invocation.
One that could read 'gnustep-base.dll' on windows and
'gnustep-base.dylib' on MacOSX for example...

http://www.gnustep.org/resources/documentation/Developer/Base/ Reference/index.html
NSBundle: +bundleForLibrary:

I don't think that's what he wants ... it returns the resource bundle for a named library. I believe he needs the path to the library itsself, so that he can read the binary file for debug symbol info.

AFAIK objc_get_symbol_path() is the best thing for that.

I suppose for a full trace it needs ...
1. the symbols from the running executable
2. the symbols from libraries/frameworks linked into it.
3. the symbols from any class bundles loaded at runtime.

For the running executable, I think you can use [[NSBundle mainBundle] executablePath].

I guess you can use [NSBundle +allBundles] and [NSBundle +allFrameworks] to enumerate bundles/frameworks. Then you can use the -principalClass method on each to get a handle into the code (or nil if the bundle contains no code)/ Then objc_get_symbol_path() to locate the binary containing the code for the bundle/framework

reply via email to

[Prev in Thread] Current Thread [Next in Thread]