2008年8月7日木曜日

Sequence of sample application of Steve Gehrman.

I got a great code of Steve Gehrman. He seems to be a developer of PathFinder.
This is about how to get a stack trace of cocoa application. Following is a sequence of function.

MyDocument.m-MyDocument
+ (void)initialize;

NTExceptionHandlerDelegate.m
- (id)initWithEmail:(NSString*)emailAddress;

MyDocument.m-MyDocument
- (id)init

MyDocument.m-MyDocument
- (NSString *)windowNibName

MyDocument.m-MyDocument
- (void)windowControllerDidLoadNib:(NSWindowController *) aController

MyDocument.m-MyDocument
- (NSString*)displayName;

The application get started.

== Push "Exception 1" button.

MyDocument.m-MyDocument
- (void)exception1Action:(id)sender;

NTExceptionHandlerDelegate.m-NTExceptionHandlerDelegate
- (BOOL)exceptionHandler:(NSExceptionHandler *)sender shouldLogException:(NSException *)exception mask:(unsigned int)aMask;

NTExceptionHandlerDelegate.m-NTExceptionHandlerDelegate
- (BOOL)exceptionHandler:(NSExceptionHandler *)sender shouldHandleException:(NSException *)exception mask:(unsigned int)aMask;

NTExceptionHandlerDelegate.m-NTExceptionHandlerDelegate
- (BOOL)shouldDisplayException:(NSException *)exception;

NTExceptionPanelController.m-NTExceptionPanelController
- (id)initWithException:(NSException*)exception emailAddress:(NSString*)emailAddress;

NTExceptionPanelController.m-NTExceptionPanelController
- (void)awakeFromNib

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayCrashReport:(NSException*)exception;

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (NSString*)applicationName;

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTUtilities.m-NTUtilities
+ (NSString*)applicationVersion;

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTUtilities.m-NTUtilities
+ (NSString*)OSVersion;

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController (Private)
- (NSNumber*)applicationProcessID;

NTTaskController.m-NTTaskController
- (id)initWithDelegate:(id)delegate;

NTTaskController.m-NTTaskController
- (void)runTask:(BOOL)sync toolPath:(NSString*)toolPath directory:(NSString*)currentDirectory withArgs:(NSArray*)args

== A report screen appears

NTTaskController.m-NTTaskController
- (void) taskOutputAvailable:(NSNotification*)note

NTTaskController.m-NTTaskController (Private)
- (BOOL)processOutput:(NSData*)output;


NTTaskController.m-NTTaskController
- (void) taskOutputAvailable:(NSNotification*)note

NTTaskController.m-NTTaskController (Private)
- (BOOL)processOutput:(NSData*)output;

NTTaskController.m-NTTaskController
- (void)taskDidTerminate:(NSNotification*)note

NTTaskController.m-NTTaskController
- (void) taskOutputAvailable:(NSNotification*)note

NTTaskController.m-NTTaskController (Private)
- (BOOL)processOutput:(NSData*)output;

NTTaskController.m-NTTaskController
- (void) taskOutputAvailable:(NSNotification*)note

NTTaskController.m-NTTaskController (Private)
- (BOOL)processOutput:(NSData*)output;

NTTaskController.m-NTTaskController (Private)
- (void)sendOutputToDelegate;

NTExceptionPanelController.m-NTExceptionPanelController
- (void)delegate_handleTaskOutput:(NSString*)output

NTExceptionPanelController.m- NTExceptionPanelController (Private)
- (void)displayText:(NSString*)text

NTExceptionPanelController.m-NTExceptionPanelController
- (void)delegate_handleTaskFinished:(NSNumber*)result;

NTExceptionPanelController.m- NTExceptionPanelController (Private)
- (void)disposeTask;

NTTaskController.m-NTTaskController
- (void)taskErrorsAvailable:(NSNotification*)note

NTTaskController.m-NTTaskController
- (void)processOutputAfterDelay:(id)object;

NTTaskController.m-NTTaskController (Private)
- (void)sendOutputToDelegate;

NTTaskController.m-NTTaskController
- (void)dealloc;

NTTaskController.m-NTTaskController
- (void)stopTask;

0 件のコメント: