Added support for threads.
Each thread group now knows it's threads.
--- a/GDBBreakpoint.st Sun Sep 07 14:42:02 2014 +0100
+++ b/GDBBreakpoint.st Sun Sep 07 22:44:55 2014 +0100
@@ -1,6 +1,6 @@
"{ Package: 'jv:libgdbs' }"
-GDBObject subclass:#GDBBreakpoint
+GDBDebuggerObject subclass:#GDBBreakpoint
instanceVariableNames:'number type disp enabled addr func file fullname line times'
classVariableNames:''
poolDictionaries:''
--- a/GDBConnection.st Sun Sep 07 14:42:02 2014 +0100
+++ b/GDBConnection.st Sun Sep 07 22:44:55 2014 +0100
@@ -86,12 +86,18 @@
].
].
].
- process pid isNil ifTrue:[ ^ self ]. "/ gdb process terninated
+ process pid isNil ifTrue:[
+ "/ gdb process terninated
+ (process debuggerOutput isNil or:[ process debuggerOutput atEnd ]) ifTrue:[
+ "/ No unprocessed output in stream...
+ ^ self
+ ]
+ ].
eventQueueNotifier wait.
] loop.
"Created: / 02-06-2014 / 22:51:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 20-06-2014 / 21:38:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-09-2014 / 22:38:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
eventDispatchSingle: aGDBEvent
--- a/GDBDebugger.st Sun Sep 07 14:42:02 2014 +0100
+++ b/GDBDebugger.st Sun Sep 07 22:44:55 2014 +0100
@@ -31,6 +31,14 @@
"Created: / 02-06-2014 / 23:06:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+inferiorForId: id
+ ^ inferiors ? #() detect:[:e | e id = id ] ifNone:[
+ self error: ('No inferior (thread group) with id ''%1'' found!!' bindWith: id)
+ ].
+
+ "Created: / 07-09-2014 / 21:22:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
inferiorStderr
^ connection inferiorPTY master
@@ -149,48 +157,56 @@
"Modified: / 04-06-2014 / 09:28:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+onThreadCreated:aGDBThreadCreatedEvent
+ | inferior |
+
+ inferior := self inferiorForId: aGDBThreadCreatedEvent threadGroupId.
+ inferior onThreadCreated: aGDBThreadCreatedEvent.
+
+ "Created: / 07-09-2014 / 21:20:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+onThreadExited:aGDBThreadExitedEvent
+ | inferior |
+
+ inferior := self inferiorForId: aGDBThreadExitedEvent threadGroupId.
+ inferior onThreadExited: aGDBThreadExitedEvent.
+
+ "Created: / 07-09-2014 / 21:20:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
onThreadGroupAdded:aGDBThreadGroupAddedEvent
| inferior |
inferiors isNil ifTrue:[
inferiors := List new.
].
- inferior := GDBThreadGroup newWithId:aGDBThreadGroupAddedEvent id.
+ inferior := GDBThreadGroup newWithDebugger: self id:aGDBThreadGroupAddedEvent threadGroupId.
inferiors add:inferior.
aGDBThreadGroupAddedEvent setThreadGroup: inferior
- "Modified: / 07-09-2014 / 13:36:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-09-2014 / 21:18:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
onThreadGroupExited:aGDBThreadGroupExitedEvent
| inferior |
- inferiors notNil ifTrue:[
- inferior := inferiors detect:[:e | e id = aGDBThreadGroupExitedEvent id ].
- ].
- inferior isNil ifTrue:[
- self error:('Mo inferior with id "%1" ' bindWith: aGDBThreadGroupExitedEvent id)
- ].
+ inferior := self inferiorForId: aGDBThreadGroupExitedEvent threadGroupId.
inferior setExitCode: aGDBThreadGroupExitedEvent exitCode.
aGDBThreadGroupExitedEvent setThreadGroup: inferior
"Created: / 06-09-2014 / 02:37:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 07-09-2014 / 13:36:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-09-2014 / 21:23:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
onThreadGroupStarted:aGDBThreadGroupStartedEvent
| inferior |
- inferiors notNil ifTrue:[
- inferior := inferiors detect:[:e | e id = aGDBThreadGroupStartedEvent id ].
- ].
- inferior isNil ifTrue:[
- self error:('Mo inferior with id "%1" ' bindWith: aGDBThreadGroupStartedEvent id)
- ].
+ inferior := self inferiorForId: aGDBThreadGroupStartedEvent threadGroupId.
inferior setPid: aGDBThreadGroupStartedEvent pid.
aGDBThreadGroupStartedEvent setThreadGroup: inferior
"Created: / 06-09-2014 / 02:37:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 07-09-2014 / 13:36:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-09-2014 / 21:23:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBDebugger methodsFor:'finalization'!
@@ -243,10 +259,13 @@
when: GDBThreadGroupAddedEvent send: #onThreadGroupAdded: to: self;
when: GDBThreadGroupStartedEvent send: #onThreadGroupStarted: to: self;
- when: GDBThreadGroupExitedEvent send: #onThreadGroupExited: to: self.
+ when: GDBThreadGroupExitedEvent send: #onThreadGroupExited: to: self;
+
+ when: GDBThreadCreatedEvent send: #onThreadCreated: to: self;
+ when: GDBThreadExitedEvent send: #onThreadExited: to: self.
"Created: / 20-06-2014 / 22:07:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 06-09-2014 / 02:30:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-09-2014 / 22:29:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
unsubscribe
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBDebuggerObject.st Sun Sep 07 22:44:55 2014 +0100
@@ -0,0 +1,18 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBObject subclass:#GDBDebuggerObject
+ instanceVariableNames:'debugger'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'GDB-Core'
+!
+
+!GDBDebuggerObject methodsFor:'initialization'!
+
+setDebugger: aGDBDebugger
+ self assert: debugger isNil.
+ debugger := aGDBDebugger
+
+ "Created: / 07-09-2014 / 21:17:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/GDBThread.st Sun Sep 07 14:42:02 2014 +0100
+++ b/GDBThread.st Sun Sep 07 22:44:55 2014 +0100
@@ -1,12 +1,24 @@
"{ Package: 'jv:libgdbs' }"
-GDBObject subclass:#GDBThread
- instanceVariableNames:'id group'
+GDBDebuggerObject subclass:#GDBThread
+ instanceVariableNames:'id group terminated'
classVariableNames:''
poolDictionaries:''
category:'GDB-Core'
!
+!GDBThread class methodsFor:'instance creation'!
+
+newWithDebugger: debugger id: id group: group
+ ^ self new
+ setDebugger: debugger;
+ setId: id;
+ setGroup: group;
+ yourself.
+
+ "Created: / 07-09-2014 / 21:33:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!GDBThread class methodsFor:'accessing - GDB value descriptors'!
gdbValueDescriptor
@@ -17,3 +29,39 @@
"Created: / 06-09-2014 / 02:21:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!GDBThread methodsFor:'accessing'!
+
+id
+ ^ id
+
+ "Created: / 07-09-2014 / 22:41:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+terminated
+ ^ terminated ? false
+
+ "Modified: / 07-09-2014 / 21:37:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBThread methodsFor:'initialization'!
+
+setGroup: aGDBThreadGroup
+ self assert: group isNil.
+ group := aGDBThreadGroup.
+
+ "Created: / 07-09-2014 / 21:32:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setId: tid
+ self assert: id isNil.
+ id := tid.
+
+ "Created: / 07-09-2014 / 21:31:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+setTerminated
+ terminated := true.
+
+ "Created: / 07-09-2014 / 21:37:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/GDBThreadEvent.st Sun Sep 07 14:42:02 2014 +0100
+++ b/GDBThreadEvent.st Sun Sep 07 22:44:55 2014 +0100
@@ -1,7 +1,7 @@
"{ Package: 'jv:libgdbs' }"
GDBNotificationEvent subclass:#GDBThreadEvent
- instanceVariableNames:'id group_id'
+ instanceVariableNames:'thread id group_id'
classVariableNames:''
poolDictionaries:''
category:'GDB-Core-Events'
@@ -18,3 +18,35 @@
"Created: / 06-09-2014 / 02:08:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!GDBThreadEvent methodsFor:'accessing'!
+
+thread
+ ^ thread
+!
+
+threadGroup
+ ^ thread threadGroup
+
+ "Created: / 07-09-2014 / 18:07:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+threadGroupId
+ ^ group_id
+
+ "Created: / 07-09-2014 / 18:07:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+threadId
+ ^ id
+
+ "Created: / 07-09-2014 / 18:07:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBThreadEvent methodsFor:'initialization'!
+
+setThread: aGDBThread
+ thread := aGDBThread
+
+ "Created: / 07-09-2014 / 15:05:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/GDBThreadGroup.st Sun Sep 07 14:42:02 2014 +0100
+++ b/GDBThreadGroup.st Sun Sep 07 22:44:55 2014 +0100
@@ -1,6 +1,6 @@
"{ Package: 'jv:libgdbs' }"
-GDBObject subclass:#GDBThreadGroup
+GDBDebuggerObject subclass:#GDBThreadGroup
instanceVariableNames:'id pid exit_code threads'
classVariableNames:''
poolDictionaries:''
@@ -9,10 +9,10 @@
!GDBThreadGroup class methodsFor:'instance creation'!
-newWithId: aString
- ^ self new setId: aString; yourself
+newWithDebugger: debugger id: aString
+ ^ self new setDebugger: debugger; setId: aString; yourself
- "Created: / 06-09-2014 / 02:31:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 07-09-2014 / 21:18:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBThreadGroup class methodsFor:'accessing - GDB value descriptors'!
@@ -42,13 +42,46 @@
^ pid
!
+threadWithId: tid
+ ^ threads ? #() detect:[:e | e id = tid ] ifNone:[
+ self error: ('No thread with id ''%1'' found!!' bindWith: tid)
+ ].
+
+ "Created: / 07-09-2014 / 21:37:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
threads
threads isNil ifTrue:[
threads := List new.
+ ].
+ ^ threads
+
+ "Modified: / 06-09-2014 / 02:23:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 07-09-2014 / 21:42:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBThreadGroup methodsFor:'event handling'!
+
+onThreadCreated:aGDBThreadCreatedEvent
+ | thread |
+ threads isNil ifTrue:[
+ threads := List new.
].
- ^ threads
+ thread := GDBThread newWithDebugger: debugger id: aGDBThreadCreatedEvent threadId group: self.
+ threads add: thread.
+ aGDBThreadCreatedEvent setThread: thread.
+
+ "Created: / 07-09-2014 / 21:25:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
- "Modified: / 06-09-2014 / 02:23:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+onThreadExited:aGDBThreadExitedEvent
+ | thread |
+
+ thread := self threadWithId:aGDBThreadExitedEvent threadId.
+ thread setTerminated.
+ aGDBThreadExitedEvent setThread: thread
+
+ "Created: / 07-09-2014 / 21:25:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBThreadGroup methodsFor:'initialization'!
--- a/GDBThreadGroupEvent.st Sun Sep 07 14:42:02 2014 +0100
+++ b/GDBThreadGroupEvent.st Sun Sep 07 22:44:55 2014 +0100
@@ -19,19 +19,23 @@
!GDBThreadGroupEvent methodsFor:'accessing'!
-id
- ^ id
+threadGroup
+ ^ threadGroup
!
-threadGroup
- ^ threadGroup
+threadGroupId
+ ^ id
+
+ "Created: / 07-09-2014 / 15:08:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBThreadGroupEvent methodsFor:'initialization'!
setThreadGroup: aGDBThreadGroup
- threadGroup := aGDBThreadGroup
+ self assert: id = aGDBThreadGroup id.
+ threadGroup := aGDBThreadGroup.
"Created: / 07-09-2014 / 12:45:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-09-2014 / 18:05:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
--- a/Make.proto Sun Sep 07 14:42:02 2014 +0100
+++ b/Make.proto Sun Sep 07 22:44:55 2014 +0100
@@ -141,7 +141,6 @@
$(OUTDIR)GDBValueDescriptorError.$(O) GDBValueDescriptorError.$(H): GDBValueDescriptorError.st $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)jv_libgdbs.$(O) jv_libgdbs.$(H): jv_libgdbs.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
$(OUTDIR)GDBAsyncEvent.$(O) GDBAsyncEvent.$(H): GDBAsyncEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GDBBreakpoint.$(O) GDBBreakpoint.$(H): GDBBreakpoint.st $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBCLICommand.$(O) GDBCLICommand.$(H): GDBCLICommand.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBCommandEvent.$(O) GDBCommandEvent.$(H): GDBCommandEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBCommandResult.$(O) GDBCommandResult.$(H): GDBCommandResult.st $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -149,6 +148,7 @@
$(OUTDIR)GDBCompoundValueDescriptor.$(O) GDBCompoundValueDescriptor.$(H): GDBCompoundValueDescriptor.st $(INCLUDE_TOP)/jv/libgdbs/GDBValueDescriptor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBConnection.$(O) GDBConnection.$(H): GDBConnection.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebugFlags.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBDebugger.$(O) GDBDebugger.$(H): GDBDebugger.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommandStatus.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBDebuggerObject.$(O) GDBDebuggerObject.$(H): GDBDebuggerObject.st $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBEnumValueDescriptor.$(O) GDBEnumValueDescriptor.$(H): GDBEnumValueDescriptor.st $(INCLUDE_TOP)/jv/libgdbs/GDBValueDescriptor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBInternalEvent.$(O) GDBInternalEvent.$(H): GDBInternalEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBMICommand.$(O) GDBMICommand.$(H): GDBMICommand.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -157,11 +157,10 @@
$(OUTDIR)GDBSessionRecorder.$(O) GDBSessionRecorder.$(H): GDBSessionRecorder.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebugFlags.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBSimulatorProcess.$(O) GDBSimulatorProcess.$(H): GDBSimulatorProcess.st $(INCLUDE_TOP)/jv/libgdbs/GDBProcess.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBStreamOutputEvent.$(O) GDBStreamOutputEvent.$(H): GDBStreamOutputEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GDBThread.$(O) GDBThread.$(H): GDBThread.st $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GDBThreadGroup.$(O) GDBThreadGroup.$(H): GDBThreadGroup.st $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBUnixProcess.$(O) GDBUnixProcess.$(H): GDBUnixProcess.st $(INCLUDE_TOP)/jv/libgdbs/GDBProcess.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBAddresValueDescriptor.$(O) GDBAddresValueDescriptor.$(H): GDBAddresValueDescriptor.st $(INCLUDE_TOP)/jv/libgdbs/GDBPrimitiveValueDescriptor.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBValueDescriptor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBBooleanValueDescriptor.$(O) GDBBooleanValueDescriptor.$(H): GDBBooleanValueDescriptor.st $(INCLUDE_TOP)/jv/libgdbs/GDBPrimitiveValueDescriptor.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBValueDescriptor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBBreakpoint.$(O) GDBBreakpoint.$(H): GDBBreakpoint.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBConsoleOutputEvent.$(O) GDBConsoleOutputEvent.$(H): GDBConsoleOutputEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBStreamOutputEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBExecutionEvent.$(O) GDBExecutionEvent.$(H): GDBExecutionEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBAsyncEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBExitEvent.$(O) GDBExitEvent.$(H): GDBExitEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBInternalEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -282,6 +281,8 @@
$(OUTDIR)GDBStatusEvent.$(O) GDBStatusEvent.$(H): GDBStatusEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBAsyncEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBStringValueDescriptor.$(O) GDBStringValueDescriptor.$(H): GDBStringValueDescriptor.st $(INCLUDE_TOP)/jv/libgdbs/GDBPrimitiveValueDescriptor.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBValueDescriptor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBTargetOutputEvent.$(O) GDBTargetOutputEvent.$(H): GDBTargetOutputEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBStreamOutputEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBThread.$(O) GDBThread.$(H): GDBThread.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBThreadGroup.$(O) GDBThreadGroup.$(H): GDBThreadGroup.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBBreakpointDeletedEvent.$(O) GDBBreakpointDeletedEvent.$(H): GDBBreakpointDeletedEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBAsyncEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBNotificationEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBBreakpointEvent.$(O) GDBBreakpointEvent.$(H): GDBBreakpointEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBAsyncEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBNotificationEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBLibraryLoadedEvent.$(O) GDBLibraryLoadedEvent.$(H): GDBLibraryLoadedEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBAsyncEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBNotificationEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec Sun Sep 07 14:42:02 2014 +0100
+++ b/Make.spec Sun Sep 07 22:44:55 2014 +0100
@@ -64,7 +64,6 @@
GDBValueDescriptorError \
jv_libgdbs \
GDBAsyncEvent \
- GDBBreakpoint \
GDBCLICommand \
GDBCommandEvent \
GDBCommandResult \
@@ -72,6 +71,7 @@
GDBCompoundValueDescriptor \
GDBConnection \
GDBDebugger \
+ GDBDebuggerObject \
GDBEnumValueDescriptor \
GDBInternalEvent \
GDBMICommand \
@@ -80,11 +80,10 @@
GDBSessionRecorder \
GDBSimulatorProcess \
GDBStreamOutputEvent \
- GDBThread \
- GDBThreadGroup \
GDBUnixProcess \
GDBAddresValueDescriptor \
GDBBooleanValueDescriptor \
+ GDBBreakpoint \
GDBConsoleOutputEvent \
GDBExecutionEvent \
GDBExitEvent \
@@ -205,6 +204,8 @@
GDBStatusEvent \
GDBStringValueDescriptor \
GDBTargetOutputEvent \
+ GDBThread \
+ GDBThreadGroup \
GDBBreakpointDeletedEvent \
GDBBreakpointEvent \
GDBLibraryLoadedEvent \
@@ -239,7 +240,6 @@
$(OUTDIR_SLASH)GDBValueDescriptorError.$(O) \
$(OUTDIR_SLASH)jv_libgdbs.$(O) \
$(OUTDIR_SLASH)GDBAsyncEvent.$(O) \
- $(OUTDIR_SLASH)GDBBreakpoint.$(O) \
$(OUTDIR_SLASH)GDBCLICommand.$(O) \
$(OUTDIR_SLASH)GDBCommandEvent.$(O) \
$(OUTDIR_SLASH)GDBCommandResult.$(O) \
@@ -247,6 +247,7 @@
$(OUTDIR_SLASH)GDBCompoundValueDescriptor.$(O) \
$(OUTDIR_SLASH)GDBConnection.$(O) \
$(OUTDIR_SLASH)GDBDebugger.$(O) \
+ $(OUTDIR_SLASH)GDBDebuggerObject.$(O) \
$(OUTDIR_SLASH)GDBEnumValueDescriptor.$(O) \
$(OUTDIR_SLASH)GDBInternalEvent.$(O) \
$(OUTDIR_SLASH)GDBMICommand.$(O) \
@@ -255,11 +256,10 @@
$(OUTDIR_SLASH)GDBSessionRecorder.$(O) \
$(OUTDIR_SLASH)GDBSimulatorProcess.$(O) \
$(OUTDIR_SLASH)GDBStreamOutputEvent.$(O) \
- $(OUTDIR_SLASH)GDBThread.$(O) \
- $(OUTDIR_SLASH)GDBThreadGroup.$(O) \
$(OUTDIR_SLASH)GDBUnixProcess.$(O) \
$(OUTDIR_SLASH)GDBAddresValueDescriptor.$(O) \
$(OUTDIR_SLASH)GDBBooleanValueDescriptor.$(O) \
+ $(OUTDIR_SLASH)GDBBreakpoint.$(O) \
$(OUTDIR_SLASH)GDBConsoleOutputEvent.$(O) \
$(OUTDIR_SLASH)GDBExecutionEvent.$(O) \
$(OUTDIR_SLASH)GDBExitEvent.$(O) \
@@ -380,6 +380,8 @@
$(OUTDIR_SLASH)GDBStatusEvent.$(O) \
$(OUTDIR_SLASH)GDBStringValueDescriptor.$(O) \
$(OUTDIR_SLASH)GDBTargetOutputEvent.$(O) \
+ $(OUTDIR_SLASH)GDBThread.$(O) \
+ $(OUTDIR_SLASH)GDBThreadGroup.$(O) \
$(OUTDIR_SLASH)GDBBreakpointDeletedEvent.$(O) \
$(OUTDIR_SLASH)GDBBreakpointEvent.$(O) \
$(OUTDIR_SLASH)GDBLibraryLoadedEvent.$(O) \
--- a/abbrev.stc Sun Sep 07 14:42:02 2014 +0100
+++ b/abbrev.stc Sun Sep 07 22:44:55 2014 +0100
@@ -16,7 +16,6 @@
GDBValueDescriptorError GDBValueDescriptorError jv:libgdbs 'GDB-Private-Descriptors' 1
jv_libgdbs jv_libgdbs jv:libgdbs '* Projects & Packages *' 3
GDBAsyncEvent GDBAsyncEvent jv:libgdbs 'GDB-Core-Events' 0
-GDBBreakpoint GDBBreakpoint jv:libgdbs 'GDB-Core' 0
GDBCLICommand GDBCLICommand jv:libgdbs 'GDB-Core-Commands' 0
GDBCommandEvent GDBCommandEvent jv:libgdbs 'GDB-Core-Events' 0
GDBCommandResult GDBCommandResult jv:libgdbs 'GDB-Core-Commands' 0
@@ -24,6 +23,7 @@
GDBCompoundValueDescriptor GDBCompoundValueDescriptor jv:libgdbs 'GDB-Private-Descriptors' 0
GDBConnection GDBConnection jv:libgdbs 'GDB-Private' 0
GDBDebugger GDBDebugger jv:libgdbs 'GDB-Core' 0
+GDBDebuggerObject GDBDebuggerObject jv:libgdbs 'GDB-Core' 0
GDBEnumValueDescriptor GDBEnumValueDescriptor jv:libgdbs 'GDB-Private-Descriptors' 0
GDBInternalEvent GDBInternalEvent jv:libgdbs 'GDB-Core-Events' 0
GDBMICommand GDBMICommand jv:libgdbs 'GDB-Core-Commands' 0
@@ -32,11 +32,10 @@
GDBSessionRecorder GDBSessionRecorder jv:libgdbs 'GDB-Private-Simulator' 0
GDBSimulatorProcess GDBSimulatorProcess jv:libgdbs 'GDB-Private-Simulator' 0
GDBStreamOutputEvent GDBStreamOutputEvent jv:libgdbs 'GDB-Core-Events' 0
-GDBThread GDBThread jv:libgdbs 'GDB-Core' 0
-GDBThreadGroup GDBThreadGroup jv:libgdbs 'GDB-Core' 0
GDBUnixProcess GDBUnixProcess jv:libgdbs 'GDB-Private' 0
GDBAddresValueDescriptor GDBAddresValueDescriptor jv:libgdbs 'GDB-Private-Descriptors' 0
GDBBooleanValueDescriptor GDBBooleanValueDescriptor jv:libgdbs 'GDB-Private-Descriptors' 0
+GDBBreakpoint GDBBreakpoint jv:libgdbs 'GDB-Core' 0
GDBConsoleOutputEvent GDBConsoleOutputEvent jv:libgdbs 'GDB-Core-Events' 0
GDBExecutionEvent GDBExecutionEvent jv:libgdbs 'GDB-Core-Events' 0
GDBExitEvent GDBExitEvent jv:libgdbs 'GDB-Core-Events' 0
@@ -157,6 +156,8 @@
GDBStatusEvent GDBStatusEvent jv:libgdbs 'GDB-Core-Events' 0
GDBStringValueDescriptor GDBStringValueDescriptor jv:libgdbs 'GDB-Private-Descriptors' 0
GDBTargetOutputEvent GDBTargetOutputEvent jv:libgdbs 'GDB-Core-Events' 0
+GDBThread GDBThread jv:libgdbs 'GDB-Core' 0
+GDBThreadGroup GDBThreadGroup jv:libgdbs 'GDB-Core' 0
GDBBreakpointDeletedEvent GDBBreakpointDeletedEvent jv:libgdbs 'GDB-Core-Events' 0
GDBBreakpointEvent GDBBreakpointEvent jv:libgdbs 'GDB-Core-Events' 0
GDBLibraryLoadedEvent GDBLibraryLoadedEvent jv:libgdbs 'GDB-Core-Events' 0
--- a/bc.mak Sun Sep 07 14:42:02 2014 +0100
+++ b/bc.mak Sun Sep 07 22:44:55 2014 +0100
@@ -87,7 +87,6 @@
$(OUTDIR)GDBValueDescriptorError.$(O) GDBValueDescriptorError.$(H): GDBValueDescriptorError.st $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)jv_libgdbs.$(O) jv_libgdbs.$(H): jv_libgdbs.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
$(OUTDIR)GDBAsyncEvent.$(O) GDBAsyncEvent.$(H): GDBAsyncEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GDBBreakpoint.$(O) GDBBreakpoint.$(H): GDBBreakpoint.st $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBCLICommand.$(O) GDBCLICommand.$(H): GDBCLICommand.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBCommandEvent.$(O) GDBCommandEvent.$(H): GDBCommandEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBCommandResult.$(O) GDBCommandResult.$(H): GDBCommandResult.st $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -95,6 +94,7 @@
$(OUTDIR)GDBCompoundValueDescriptor.$(O) GDBCompoundValueDescriptor.$(H): GDBCompoundValueDescriptor.st $(INCLUDE_TOP)\jv\libgdbs\GDBValueDescriptor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBConnection.$(O) GDBConnection.$(H): GDBConnection.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebugFlags.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBDebugger.$(O) GDBDebugger.$(H): GDBDebugger.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommandStatus.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBDebuggerObject.$(O) GDBDebuggerObject.$(H): GDBDebuggerObject.st $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBEnumValueDescriptor.$(O) GDBEnumValueDescriptor.$(H): GDBEnumValueDescriptor.st $(INCLUDE_TOP)\jv\libgdbs\GDBValueDescriptor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBInternalEvent.$(O) GDBInternalEvent.$(H): GDBInternalEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBMICommand.$(O) GDBMICommand.$(H): GDBMICommand.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -103,11 +103,10 @@
$(OUTDIR)GDBSessionRecorder.$(O) GDBSessionRecorder.$(H): GDBSessionRecorder.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebugFlags.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBSimulatorProcess.$(O) GDBSimulatorProcess.$(H): GDBSimulatorProcess.st $(INCLUDE_TOP)\jv\libgdbs\GDBProcess.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBStreamOutputEvent.$(O) GDBStreamOutputEvent.$(H): GDBStreamOutputEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GDBThread.$(O) GDBThread.$(H): GDBThread.st $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GDBThreadGroup.$(O) GDBThreadGroup.$(H): GDBThreadGroup.st $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBUnixProcess.$(O) GDBUnixProcess.$(H): GDBUnixProcess.st $(INCLUDE_TOP)\jv\libgdbs\GDBProcess.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBAddresValueDescriptor.$(O) GDBAddresValueDescriptor.$(H): GDBAddresValueDescriptor.st $(INCLUDE_TOP)\jv\libgdbs\GDBPrimitiveValueDescriptor.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBValueDescriptor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBBooleanValueDescriptor.$(O) GDBBooleanValueDescriptor.$(H): GDBBooleanValueDescriptor.st $(INCLUDE_TOP)\jv\libgdbs\GDBPrimitiveValueDescriptor.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBValueDescriptor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBBreakpoint.$(O) GDBBreakpoint.$(H): GDBBreakpoint.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBConsoleOutputEvent.$(O) GDBConsoleOutputEvent.$(H): GDBConsoleOutputEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBStreamOutputEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBExecutionEvent.$(O) GDBExecutionEvent.$(H): GDBExecutionEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBAsyncEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBExitEvent.$(O) GDBExitEvent.$(H): GDBExitEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBInternalEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -228,6 +227,8 @@
$(OUTDIR)GDBStatusEvent.$(O) GDBStatusEvent.$(H): GDBStatusEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBAsyncEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBStringValueDescriptor.$(O) GDBStringValueDescriptor.$(H): GDBStringValueDescriptor.st $(INCLUDE_TOP)\jv\libgdbs\GDBPrimitiveValueDescriptor.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBValueDescriptor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBTargetOutputEvent.$(O) GDBTargetOutputEvent.$(H): GDBTargetOutputEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBStreamOutputEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBThread.$(O) GDBThread.$(H): GDBThread.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBThreadGroup.$(O) GDBThreadGroup.$(H): GDBThreadGroup.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBBreakpointDeletedEvent.$(O) GDBBreakpointDeletedEvent.$(H): GDBBreakpointDeletedEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBAsyncEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBNotificationEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBBreakpointEvent.$(O) GDBBreakpointEvent.$(H): GDBBreakpointEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBAsyncEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBNotificationEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBLibraryLoadedEvent.$(O) GDBLibraryLoadedEvent.$(H): GDBLibraryLoadedEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBAsyncEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBNotificationEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/jv_libgdbs.st Sun Sep 07 14:42:02 2014 +0100
+++ b/jv_libgdbs.st Sun Sep 07 22:44:55 2014 +0100
@@ -81,7 +81,6 @@
GDBValueDescriptorError
#'jv_libgdbs'
GDBAsyncEvent
- GDBBreakpoint
GDBCLICommand
GDBCommandEvent
GDBCommandResult
@@ -89,6 +88,7 @@
GDBCompoundValueDescriptor
GDBConnection
GDBDebugger
+ GDBDebuggerObject
GDBEnumValueDescriptor
GDBInternalEvent
GDBMICommand
@@ -97,11 +97,10 @@
GDBSessionRecorder
GDBSimulatorProcess
GDBStreamOutputEvent
- GDBThread
- GDBThreadGroup
GDBUnixProcess
GDBAddresValueDescriptor
GDBBooleanValueDescriptor
+ GDBBreakpoint
GDBConsoleOutputEvent
GDBExecutionEvent
GDBExitEvent
@@ -222,6 +221,8 @@
GDBStatusEvent
GDBStringValueDescriptor
GDBTargetOutputEvent
+ GDBThread
+ GDBThreadGroup
GDBBreakpointDeletedEvent
GDBBreakpointEvent
GDBLibraryLoadedEvent
--- a/libInit.cc Sun Sep 07 14:42:02 2014 +0100
+++ b/libInit.cc Sun Sep 07 22:44:55 2014 +0100
@@ -41,7 +41,6 @@
_GDBValueDescriptorError_Init(pass,__pRT__,snd);
_jv_137libgdbs_Init(pass,__pRT__,snd);
_GDBAsyncEvent_Init(pass,__pRT__,snd);
-_GDBBreakpoint_Init(pass,__pRT__,snd);
_GDBCLICommand_Init(pass,__pRT__,snd);
_GDBCommandEvent_Init(pass,__pRT__,snd);
_GDBCommandResult_Init(pass,__pRT__,snd);
@@ -49,6 +48,7 @@
_GDBCompoundValueDescriptor_Init(pass,__pRT__,snd);
_GDBConnection_Init(pass,__pRT__,snd);
_GDBDebugger_Init(pass,__pRT__,snd);
+_GDBDebuggerObject_Init(pass,__pRT__,snd);
_GDBEnumValueDescriptor_Init(pass,__pRT__,snd);
_GDBInternalEvent_Init(pass,__pRT__,snd);
_GDBMICommand_Init(pass,__pRT__,snd);
@@ -57,11 +57,10 @@
_GDBSessionRecorder_Init(pass,__pRT__,snd);
_GDBSimulatorProcess_Init(pass,__pRT__,snd);
_GDBStreamOutputEvent_Init(pass,__pRT__,snd);
-_GDBThread_Init(pass,__pRT__,snd);
-_GDBThreadGroup_Init(pass,__pRT__,snd);
_GDBUnixProcess_Init(pass,__pRT__,snd);
_GDBAddresValueDescriptor_Init(pass,__pRT__,snd);
_GDBBooleanValueDescriptor_Init(pass,__pRT__,snd);
+_GDBBreakpoint_Init(pass,__pRT__,snd);
_GDBConsoleOutputEvent_Init(pass,__pRT__,snd);
_GDBExecutionEvent_Init(pass,__pRT__,snd);
_GDBExitEvent_Init(pass,__pRT__,snd);
@@ -182,6 +181,8 @@
_GDBStatusEvent_Init(pass,__pRT__,snd);
_GDBStringValueDescriptor_Init(pass,__pRT__,snd);
_GDBTargetOutputEvent_Init(pass,__pRT__,snd);
+_GDBThread_Init(pass,__pRT__,snd);
+_GDBThreadGroup_Init(pass,__pRT__,snd);
_GDBBreakpointDeletedEvent_Init(pass,__pRT__,snd);
_GDBBreakpointEvent_Init(pass,__pRT__,snd);
_GDBLibraryLoadedEvent_Init(pass,__pRT__,snd);
--- a/libgdbs.rc Sun Sep 07 14:42:02 2014 +0100
+++ b/libgdbs.rc Sun Sep 07 22:44:55 2014 +0100
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
VALUE "ProductName", "LibraryName\0"
VALUE "ProductVersion", "6.2.4.0\0"
- VALUE "ProductDate", "Sun, 07 Sep 2014 13:39:29 GMT\0"
+ VALUE "ProductDate", "Sun, 07 Sep 2014 21:43:46 GMT\0"
END
END
--- a/tests/GDBDebuggerTests.st Sun Sep 07 14:42:02 2014 +0100
+++ b/tests/GDBDebuggerTests.st Sun Sep 07 22:44:55 2014 +0100
@@ -65,13 +65,16 @@
!GDBDebuggerTests methodsFor:'tests - threads'!
test_inferiors_01a
- | event |
+ | tgevent tevent |
simulator := GDBSimulatorProcess new record: GDBSimulatorResource session_factorial_01.
simulator start.
debugger := GDBDebugger newWithProcess: simulator.
debugger announcer when: GDBThreadGroupEvent do:[:ev |
- event := ev.
+ tgevent := ev.
+ ].
+ debugger announcer when: GDBThreadEvent do:[:ev |
+ tevent := ev.
].
debugger send: (GDBMI_file_exec_and_symbols new arguments: {'/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial'}).
@@ -84,19 +87,33 @@
"/ self assert: debugger inferiors anElement == event threadGroup.
debugger send: (GDBCLICommand new value: 'r').
+ Delay waitForMilliseconds: 100. "/ Give it chance to catch up with events.
+ self assert: tgevent notNil.
+ self assert: tevent notNil.
self assert: debugger inferiors size == 1.
self assert: debugger inferiors anElement pid = 7719.
- self assert: debugger inferiors anElement == event threadGroup.
+ self assert: debugger inferiors anElement == tgevent threadGroup.
+ self assert: debugger inferiors anElement threads size == 1.
+ self assert: debugger inferiors anElement threads anElement == tevent thread.
+ self assert: debugger inferiors anElement threads anElement terminated not.
+
+ tgevent := tevent := nil.
debugger send: (GDBCLICommand new value: 'del 1').
debugger send: (GDBCLICommand new value: 'c').
+ Delay waitForMilliseconds: 100. "/ Give it chance to catch up with events.
+ self assert: tgevent notNil.
self assert: debugger inferiors size == 1.
self assert: debugger inferiors anElement exitCode = 23.
- self assert: debugger inferiors anElement == event threadGroup.
+ self assert: debugger inferiors anElement == tgevent threadGroup.
+ self assert: debugger inferiors anElement threads size == 1.
+ self assert: debugger inferiors anElement threads anElement == tevent thread.
+ self assert: debugger inferiors anElement threads anElement terminated.
"Created: / 07-09-2014 / 13:37:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 07-09-2014 / 22:40:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBDebuggerTests class methodsFor:'documentation'!
--- a/tests/GDBInternalPipeStreamTests.st Sun Sep 07 14:42:02 2014 +0100
+++ b/tests/GDBInternalPipeStreamTests.st Sun Sep 07 22:44:55 2014 +0100
@@ -499,6 +499,20 @@
self assert: t2 isDead.
"Created: / 07-09-2014 / 07:51:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_10
+ | pipe |
+
+ pipe := GDBInternalPipeStream new.
+ pipe nextPutAll:'12345'.
+ pipe close.
+ self assert: pipe atEnd not.
+ self assert: pipe next == $1.
+ self assert: (pipe next:4) = '2345'.
+ self assert: pipe atEnd.
+
+ "Created: / 07-09-2014 / 21:59:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBInternalPipeStreamTests class methodsFor:'documentation'!
--- a/tests/tests.rc Sun Sep 07 14:42:02 2014 +0100
+++ b/tests/tests.rc Sun Sep 07 22:44:55 2014 +0100
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
VALUE "ProductName", "LibraryName\0"
VALUE "ProductVersion", "6.2.4.0\0"
- VALUE "ProductDate", "Sun, 07 Sep 2014 13:39:31 GMT\0"
+ VALUE "ProductDate", "Sun, 07 Sep 2014 21:43:47 GMT\0"
END
END