Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 61 lines (45 sloc) 1.491 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
/*
* MacRuby Debugger Connector.
*
* This is an interface to the MacRuby runtime when running in debug mode.
* It is used by MacRuby debugger clients, such as macrubyd or Xcode.
* This file when compiled separately must be compiled with garbage collection
* enabled.
*
* This file is covered by the Ruby license. See COPYING for more details.
*
* Copyright (C) 2010, Apple Inc. All rights reserved.
*/

#import <Foundation/Foundation.h>

typedef unsigned int breakpoint_t;

@interface MacRubyDebuggerConnector : NSObject
{
    NSString *_interpreterPath;
    NSMutableArray *_arguments;
    NSString *_socketPath;
    NSTask *_task;
    NSFileHandle *_socket;
    NSString *_location;
}

- (id)initWithInterpreterPath:(NSString *)path arguments:(NSArray *)arguments;

// Execution control.

- (void)startExecution;
- (void)continueExecution;
- (void)stepExecution;
- (void)stopExecution;

// Current state.

- (NSString *)location;
- (NSArray *)localVariables;
- (NSArray *)backtrace;
- (void)setFrame:(unsigned int)frame;

// Breakpoints.

- (breakpoint_t)addBreakPointAtPath:(NSString *)path line:(unsigned int)line
    condition:(NSString *)condition;

- (void)enableBreakPoint:(breakpoint_t)bp;
- (void)disableBreakPoint:(breakpoint_t)bp;
- (void)deleteBreakPoint:(breakpoint_t)bp;
- (void)setCondition:(NSString *)condition forBreakPoint:(breakpoint_t)bp;

- (NSArray *)allBreakPoints;

// Context evaluation.

- (NSString *)evaluateExpression:(NSString *)expression;

@end
Something went wrong with that request. Please try again.