mirror of
https://github.com/gnustep/apps-projectcenter.git
synced 2025-02-19 01:51:09 +00:00
Changes to allow the debugger to notify the editor when a breakpoint is encountered.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27428 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
43e24cad84
commit
466f1709f2
4 changed files with 50 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2008-12-25 23:46-EST Gregory John Casamento <greg_casamento@yahoo.com>
|
||||||
|
|
||||||
|
* Framework/PCProject.m
|
||||||
|
* Headers/ProjectCenter/PCProject.h: Added notification
|
||||||
|
for hitting a breakpoint.
|
||||||
|
* Modules/Debuggers/ProjectCenter/PCDebuggerView.m: Added code
|
||||||
|
to detect when a breakpoint is hit.
|
||||||
|
|
||||||
2008-12-25 10:30-EST Gregory John Casamento <greg_casamento@yahoo.com>
|
2008-12-25 10:30-EST Gregory John Casamento <greg_casamento@yahoo.com>
|
||||||
|
|
||||||
* Modules/Debuggers/ProjectCenter/GNUmakefile: Added PTYView.[hm]
|
* Modules/Debuggers/ProjectCenter/GNUmakefile: Added PTYView.[hm]
|
||||||
|
|
|
@ -49,6 +49,8 @@ NSString
|
||||||
*PCProjectDictDidChangeNotification = @"PCProjectDictDidChangeNotification";
|
*PCProjectDictDidChangeNotification = @"PCProjectDictDidChangeNotification";
|
||||||
NSString
|
NSString
|
||||||
*PCProjectDictDidSaveNotification = @"PCProjectDictDidSaveNotification";
|
*PCProjectDictDidSaveNotification = @"PCProjectDictDidSaveNotification";
|
||||||
|
NSString
|
||||||
|
*PCProjectBreakpointNotification = @"PCProjectBreakpointNotification";
|
||||||
|
|
||||||
@implementation PCProject
|
@implementation PCProject
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
|
|
||||||
extern NSString *PCProjectDictDidChangeNotification;
|
extern NSString *PCProjectDictDidChangeNotification;
|
||||||
extern NSString *PCProjectDictDidSaveNotification;
|
extern NSString *PCProjectDictDidSaveNotification;
|
||||||
|
extern NSString *PCProjectBreakpointNotification;
|
||||||
|
|
||||||
@interface PCProject : NSObject
|
@interface PCProject : NSObject
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,6 +21,12 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "PCDebuggerView.h"
|
#include "PCDebuggerView.h"
|
||||||
|
#include <ProjectCenter/PCProject.h>
|
||||||
|
#include <Foundation/NSScanner.h>
|
||||||
|
|
||||||
|
#ifndef NOTIFICATION_CENTER
|
||||||
|
#define NOTIFICATION_CENTER [NSNotificationCenter defaultCenter]
|
||||||
|
#endif
|
||||||
|
|
||||||
@implementation PCDebuggerView
|
@implementation PCDebuggerView
|
||||||
|
|
||||||
|
@ -43,5 +49,38 @@
|
||||||
{
|
{
|
||||||
[super logString: str newLine: newLine];
|
[super logString: str newLine: newLine];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
range = [str rangeOfString: @"Breakpoint"];
|
||||||
|
if (range.location != NSNotFound)
|
||||||
|
{
|
||||||
|
NSScanner *scanner = [NSScanner scannerWithString: str];
|
||||||
|
NSCharacterSet *cs = [NSCharacterSet
|
||||||
|
characterSetWithCharactersInString: @""];
|
||||||
|
NSString *file;
|
||||||
|
NSString *line;
|
||||||
|
int l = 0;
|
||||||
|
|
||||||
|
[scanner setCharactersToBeSkipped: cs];
|
||||||
|
[scanner scanUpToString: @" at " intoString: NULL];
|
||||||
|
[scanner scanString: @" at " intoString: NULL];
|
||||||
|
[scanner scanUpToString: @":" intoString: &file];
|
||||||
|
[scanner scanString: @":" intoString: NULL];
|
||||||
|
[scanner setCharactersToBeSkipped:
|
||||||
|
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
||||||
|
[scanner scanUpToCharactersFromSet:
|
||||||
|
[NSCharacterSet whitespaceAndNewlineCharacterSet]
|
||||||
|
intoString: &line];
|
||||||
|
l = [line intValue];
|
||||||
|
if (l != 0) // if the line is parsable, then send the notification.
|
||||||
|
{
|
||||||
|
NSDictionary *dict = [NSDictionary
|
||||||
|
dictionaryWithObjectsAndKeys:
|
||||||
|
file, @"file", line, @"line", nil];
|
||||||
|
NSLog(@"dict = %@, Line = %@", dict);
|
||||||
|
[NOTIFICATION_CENTER
|
||||||
|
postNotificationName: PCProjectBreakpointNotification
|
||||||
|
object: dict];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|
Loading…
Reference in a new issue