Renamed GDB to GDBDebugger
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 20 Jun 2014 21:11:40 +0100
changeset 21 83395ca8b257
parent 20 76ac209277a7
child 22 57025871aed4
Renamed GDB to GDBDebugger GDB is prefix of all classes, GDB was renamed to avoid confusion with namespace. Also, it better describes what it really is.
GDB.st
GDBDebugger.st
GDBMI_environment_directory.st
Make.proto
Make.spec
abbrev.stc
bc.mak
jv_libgdbs.st
libInit.cc
libgdbs.rc
tests/tests.rc
--- a/GDB.st	Fri Jun 20 09:26:41 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-"{ Package: 'jv:libgdbs' }"
-
-Object subclass:#GDB
-	instanceVariableNames:'driver commandSequenceNumber inferiorStateSequenceNumber'
-	classVariableNames:''
-	poolDictionaries:'GDBCommandStatus'
-	category:'GDB-Core'
-!
-
-
-!GDB class methodsFor:'instance creation'!
-
-new
-    "return an initialized instance"
-
-    ^ self basicNew initialize.
-! !
-
-!GDB methodsFor:'accessing'!
-
-announcer
-    ^ driver eventAnnouncer.
-
-    "Created: / 02-06-2014 / 23:06:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-inferiorStderr
-    ^ driver inferiorPTY master
-
-    "Created: / 09-06-2014 / 10:01:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 09-06-2014 / 18:26:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-inferiorStdin
-    ^ driver inferiorPTY master
-
-    "Created: / 09-06-2014 / 10:00:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 09-06-2014 / 18:27:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-inferiorStdout
-    ^ driver inferiorPTY master
-
-    "Created: / 09-06-2014 / 10:01:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 09-06-2014 / 18:27:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDB methodsFor:'accessing-private'!
-
-currentInferiorStateSequnceNumber
-    ^ inferiorStateSequenceNumber
-
-    "Created: / 19-06-2014 / 22:22:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-nextCommandSequnceNumber
-    commandSequenceNumber := commandSequenceNumber + 1.
-    commandSequenceNumber == SmallInteger maxVal ifTrue:[ 
-        commandSequenceNumber := 0.
-    ].
-    ^ commandSequenceNumber
-
-    "Created: / 02-06-2014 / 23:48:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-nextInferiorStateSequnceNumber
-    inferiorStateSequenceNumber := inferiorStateSequenceNumber + 1.
-    inferiorStateSequenceNumber == SmallInteger maxVal ifTrue:[
-        inferiorStateSequenceNumber := 0.
-    ].
-    ^ inferiorStateSequenceNumber
-
-    "Created: / 02-06-2014 / 23:48:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDB methodsFor:'commands'!
-
-send: aGDBCommand
-    ^ self send: aGDBCommand wait: true.
-
-    "Created: / 03-06-2014 / 00:10:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-send: aGDBCommand wait: aBoolean
-    "Sends given command to GDB. If `aBoolean` is true, wait for
-     command to finish. Otherwise, return immediately."
-
-    | token blocker releaser |
-
-    token := self nextCommandSequnceNumber.
-    aGDBCommand token: token.
-    aBoolean ifTrue:[ 
-        releaser := [ :ev |
-                    ev token == token ifTrue:[ 
-                        self announcer unsubscribe: releaser.  
-                        blocker signal.
-                    ]].
-        blocker := Semaphore new.
-        self announcer when: GDBCommandResultEvent do: releaser.
-        driver pushEvent: (GDBCommandEvent new command: aGDBCommand).
-        blocker wait.
-    ] ifFalse:[
-        driver pushEvent: (GDBCommandEvent new command: aGDBCommand).
-    ]
-
-    "Created: / 02-06-2014 / 23:45:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 04-06-2014 / 09:32:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDB methodsFor:'event handling'!
-
-onCommandResult: aGDBCommandResultEvent
-    aGDBCommandResultEvent result status == CommandStatusExit ifTrue:[ 
-        driver pushEvent: GDBExitEvent new.
-    ].
-
-    "Created: / 02-06-2014 / 23:40:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 04-06-2014 / 09:30:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-onExecutionEvent: aGDBExecutionEvent
-    self nextInferiorStateSequnceNumber.
-
-    "Created: / 19-06-2014 / 22:21:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-onExit: aGDBExitEvent
-    self release.
-
-    "Created: / 03-06-2014 / 00:36:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 04-06-2014 / 09:28:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDB methodsFor:'finalization'!
-
-finalize
-    self release.
-
-    "Created: / 26-05-2014 / 21:23:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDB methodsFor:'initialize & release'!
-
-initialize
-    self registerForFinalization.
-    driver := GDBLauncher startGDB.
-
-    commandSequenceNumber := 0.
-    inferiorStateSequenceNumber := 0.
-
-    driver eventAnnouncerInternal
-        when: GDBCommandResultEvent     send: #onCommandResult: to: self;
-        when: GDBExitEvent              send: #onExit: to: self;
-        when: GDBExecutionEvent         send: #onExecutionEvent: to: self.
-        
-
-    driver eventPumpStart.
-    driver eventDispatchStart.
-
-"/    self send: (GDBMICommand inferiorTtySet: driver inferiorPTY name).
-    self send: (GDBMI_inferior_tty_set arguments: { driver inferiorPTY name })
-
-    "Created: / 26-05-2014 / 21:23:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 19-06-2014 / 22:22:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-release
-    driver notNil ifTrue:[ 
-        driver release.
-        driver := nil.
-    ].
-
-    "Created: / 26-05-2014 / 21:24:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDB class methodsFor:'documentation'!
-
-version_HG
-
-    ^ '$Changeset: <not expanded> $'
-! !
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBDebugger.st	Fri Jun 20 21:11:40 2014 +0100
@@ -0,0 +1,182 @@
+"{ Package: 'jv:libgdbs' }"
+
+Object subclass:#GDBDebugger
+	instanceVariableNames:'driver commandSequenceNumber inferiorStateSequenceNumber'
+	classVariableNames:''
+	poolDictionaries:'GDBCommandStatus'
+	category:'GDB-Core'
+!
+
+
+!GDBDebugger class methodsFor:'instance creation'!
+
+new
+    "return an initialized instance"
+
+    ^ self basicNew initialize.
+! !
+
+!GDBDebugger methodsFor:'accessing'!
+
+announcer
+    ^ driver eventAnnouncer.
+
+    "Created: / 02-06-2014 / 23:06:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+inferiorStderr
+    ^ driver inferiorPTY master
+
+    "Created: / 09-06-2014 / 10:01:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 09-06-2014 / 18:26:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+inferiorStdin
+    ^ driver inferiorPTY master
+
+    "Created: / 09-06-2014 / 10:00:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 09-06-2014 / 18:27:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+inferiorStdout
+    ^ driver inferiorPTY master
+
+    "Created: / 09-06-2014 / 10:01:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 09-06-2014 / 18:27:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBDebugger methodsFor:'accessing-private'!
+
+currentInferiorStateSequnceNumber
+    ^ inferiorStateSequenceNumber
+
+    "Created: / 19-06-2014 / 22:22:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nextCommandSequnceNumber
+    commandSequenceNumber := commandSequenceNumber + 1.
+    commandSequenceNumber == SmallInteger maxVal ifTrue:[ 
+        commandSequenceNumber := 0.
+    ].
+    ^ commandSequenceNumber
+
+    "Created: / 02-06-2014 / 23:48:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nextInferiorStateSequnceNumber
+    inferiorStateSequenceNumber := inferiorStateSequenceNumber + 1.
+    inferiorStateSequenceNumber == SmallInteger maxVal ifTrue:[
+        inferiorStateSequenceNumber := 0.
+    ].
+    ^ inferiorStateSequenceNumber
+
+    "Created: / 02-06-2014 / 23:48:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBDebugger methodsFor:'commands'!
+
+send: aGDBCommand
+    ^ self send: aGDBCommand wait: true.
+
+    "Created: / 03-06-2014 / 00:10:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+send: aGDBCommand wait: aBoolean
+    "Sends given command to GDB. If `aBoolean` is true, wait for
+     command to finish. Otherwise, return immediately."
+
+    | token blocker releaser |
+
+    token := self nextCommandSequnceNumber.
+    aGDBCommand token: token.
+    aBoolean ifTrue:[ 
+        releaser := [ :ev |
+                    ev token == token ifTrue:[ 
+                        self announcer unsubscribe: releaser.  
+                        blocker signal.
+                    ]].
+        blocker := Semaphore new.
+        self announcer when: GDBCommandResultEvent do: releaser.
+        driver pushEvent: (GDBCommandEvent new command: aGDBCommand).
+        blocker wait.
+    ] ifFalse:[
+        driver pushEvent: (GDBCommandEvent new command: aGDBCommand).
+    ]
+
+    "Created: / 02-06-2014 / 23:45:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-06-2014 / 09:32:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBDebugger methodsFor:'event handling'!
+
+onCommandResult: aGDBCommandResultEvent
+    aGDBCommandResultEvent result status == CommandStatusExit ifTrue:[ 
+        driver pushEvent: GDBExitEvent new.
+    ].
+
+    "Created: / 02-06-2014 / 23:40:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-06-2014 / 09:30:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+onExecutionEvent: aGDBExecutionEvent
+    self nextInferiorStateSequnceNumber.
+
+    "Created: / 19-06-2014 / 22:21:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+onExit: aGDBExitEvent
+    self release.
+
+    "Created: / 03-06-2014 / 00:36:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-06-2014 / 09:28:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBDebugger methodsFor:'finalization'!
+
+finalize
+    self release.
+
+    "Created: / 26-05-2014 / 21:23:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBDebugger methodsFor:'initialize & release'!
+
+initialize
+    self registerForFinalization.
+    driver := GDBLauncher startGDB.
+
+    commandSequenceNumber := 0.
+    inferiorStateSequenceNumber := 0.
+
+    driver eventAnnouncerInternal
+        when: GDBCommandResultEvent     send: #onCommandResult: to: self;
+        when: GDBExitEvent              send: #onExit: to: self;
+        when: GDBExecutionEvent         send: #onExecutionEvent: to: self.
+        
+
+    driver eventPumpStart.
+    driver eventDispatchStart.
+
+"/    self send: (GDBMICommand inferiorTtySet: driver inferiorPTY name).
+    self send: (GDBMI_inferior_tty_set arguments: { driver inferiorPTY name })
+
+    "Created: / 26-05-2014 / 21:23:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 19-06-2014 / 22:22:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+release
+    driver notNil ifTrue:[ 
+        driver release.
+        driver := nil.
+    ].
+
+    "Created: / 26-05-2014 / 21:24:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBDebugger class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/GDBMI_environment_directory.st	Fri Jun 20 09:26:41 2014 +0100
+++ b/GDBMI_environment_directory.st	Fri Jun 20 21:11:40 2014 +0100
@@ -65,3 +65,10 @@
 	^ 'environment-directory'
 ! !
 
+!GDBMI_environment_directory class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/Make.proto	Fri Jun 20 09:26:41 2014 +0100
+++ b/Make.proto	Fri Jun 20 21:11:40 2014 +0100
@@ -134,13 +134,13 @@
 $(OUTDIR)GDBValueDescriptor.$(O) GDBValueDescriptor.$(H): GDBValueDescriptor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(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)GDB.$(O) GDB.$(H): GDB.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommandStatus.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(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)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)
 $(OUTDIR)GDBCommandResultEvent.$(O) GDBCommandResultEvent.$(H): GDBCommandResultEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GDBCompoundValueDescriptor.$(O) GDBCompoundValueDescriptor.$(H): GDBCompoundValueDescriptor.st $(INCLUDE_TOP)/jv/libgdbs/GDBValueDescriptor.$(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)GDBDriver.$(O) GDBDriver.$(H): GDBDriver.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebugFlags.$(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)
--- a/Make.spec	Fri Jun 20 09:26:41 2014 +0100
+++ b/Make.spec	Fri Jun 20 21:11:40 2014 +0100
@@ -62,13 +62,13 @@
 	GDBValueDescriptor \
 	GDBValueDescriptorError \
 	jv_libgdbs \
-	GDB \
 	GDBAsyncEvent \
 	GDBCLICommand \
 	GDBCommandEvent \
 	GDBCommandResult \
 	GDBCommandResultEvent \
 	GDBCompoundValueDescriptor \
+	GDBDebugger \
 	GDBDriver \
 	GDBEnumValueDescriptor \
 	GDBInternalEvent \
@@ -227,13 +227,13 @@
     $(OUTDIR_SLASH)GDBValueDescriptor.$(O) \
     $(OUTDIR_SLASH)GDBValueDescriptorError.$(O) \
     $(OUTDIR_SLASH)jv_libgdbs.$(O) \
-    $(OUTDIR_SLASH)GDB.$(O) \
     $(OUTDIR_SLASH)GDBAsyncEvent.$(O) \
     $(OUTDIR_SLASH)GDBCLICommand.$(O) \
     $(OUTDIR_SLASH)GDBCommandEvent.$(O) \
     $(OUTDIR_SLASH)GDBCommandResult.$(O) \
     $(OUTDIR_SLASH)GDBCommandResultEvent.$(O) \
     $(OUTDIR_SLASH)GDBCompoundValueDescriptor.$(O) \
+    $(OUTDIR_SLASH)GDBDebugger.$(O) \
     $(OUTDIR_SLASH)GDBDriver.$(O) \
     $(OUTDIR_SLASH)GDBEnumValueDescriptor.$(O) \
     $(OUTDIR_SLASH)GDBInternalEvent.$(O) \
--- a/abbrev.stc	Fri Jun 20 09:26:41 2014 +0100
+++ b/abbrev.stc	Fri Jun 20 21:11:40 2014 +0100
@@ -1,25 +1,25 @@
 # automagically generated by the project definition
 # this file is needed for stc to be able to compile modules independently.
 # it provides information about a classes filename, category and especially namespace.
-GDBObject GDBObject jv:libgdbs 'GDB-Core' 0
 GDBCommand GDBCommand jv:libgdbs 'GDB-Core-Commands' 0
-GDBCommandResult GDBCommandResult jv:libgdbs 'GDB-Core-Commands' 0
 GDBCommandStatus GDBCommandStatus jv:libgdbs 'GDB-Core-Commands' 0
 GDBDebugFlags GDBDebugFlags jv:libgdbs 'GDB-Private' 0
 GDBEvent GDBEvent jv:libgdbs 'GDB-Core-Events' 0
 GDBEventSet GDBEventSet jv:libgdbs 'GDB-Core-Events' 0
 GDBInternalPipeStream GDBInternalPipeStream jv:libgdbs 'GDB-Support' 0
 GDBLauncher GDBLauncher jv:libgdbs 'GDB-Private' 0
+GDBObject GDBObject jv:libgdbs 'GDB-Core' 0
 GDBPTY GDBPTY jv:libgdbs 'GDB-Private' 0
 GDBValueDescriptor GDBValueDescriptor jv:libgdbs 'GDB-Private-Descriptors' 0
 GDBValueDescriptorError GDBValueDescriptorError jv:libgdbs 'GDB-Private-Descriptors' 1
 jv_libgdbs jv_libgdbs jv:libgdbs '* Projects & Packages *' 3
-GDB GDB jv:libgdbs 'GDB-Core' 0
 GDBAsyncEvent GDBAsyncEvent jv:libgdbs 'GDB-Core-Events' 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
 GDBCommandResultEvent GDBCommandResultEvent jv:libgdbs 'GDB-Core-Events' 0
 GDBCompoundValueDescriptor GDBCompoundValueDescriptor jv:libgdbs 'GDB-Private-Descriptors' 0
+GDBDebugger GDBDebugger jv:libgdbs 'GDB-Core' 0
 GDBDriver GDBDriver jv:libgdbs 'GDB-Private' 0
 GDBEnumValueDescriptor GDBEnumValueDescriptor jv:libgdbs 'GDB-Private-Descriptors' 0
 GDBInternalEvent GDBInternalEvent jv:libgdbs 'GDB-Core-Events' 0
--- a/bc.mak	Fri Jun 20 09:26:41 2014 +0100
+++ b/bc.mak	Fri Jun 20 21:11:40 2014 +0100
@@ -80,13 +80,13 @@
 $(OUTDIR)GDBValueDescriptor.$(O) GDBValueDescriptor.$(H): GDBValueDescriptor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(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)GDB.$(O) GDB.$(H): GDB.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommandStatus.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(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)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)
 $(OUTDIR)GDBCommandResultEvent.$(O) GDBCommandResultEvent.$(H): GDBCommandResultEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GDBCompoundValueDescriptor.$(O) GDBCompoundValueDescriptor.$(H): GDBCompoundValueDescriptor.st $(INCLUDE_TOP)\jv\libgdbs\GDBValueDescriptor.$(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)GDBDriver.$(O) GDBDriver.$(H): GDBDriver.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebugFlags.$(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)
--- a/jv_libgdbs.st	Fri Jun 20 09:26:41 2014 +0100
+++ b/jv_libgdbs.st	Fri Jun 20 21:11:40 2014 +0100
@@ -64,25 +64,25 @@
 
     ^ #(
         "<className> or (<className> attributes...) in load order"
-        GDBObject       
         GDBCommand
-        GDBCommandResult
         GDBCommandStatus
         GDBDebugFlags
         GDBEvent
         GDBEventSet
         GDBInternalPipeStream
         GDBLauncher
+        GDBObject
         GDBPTY
         GDBValueDescriptor
         GDBValueDescriptorError
         #'jv_libgdbs'
-        GDB
         GDBAsyncEvent
         GDBCLICommand
         GDBCommandEvent
+        GDBCommandResult
         GDBCommandResultEvent
         GDBCompoundValueDescriptor
+        GDBDebugger
         GDBDriver
         GDBEnumValueDescriptor
         GDBInternalEvent
@@ -225,8 +225,6 @@
         GDBThreadGroupExitedEvent
         GDBThreadGroupStartedEvent
     )
-
-    "Modified: / 19-06-2014 / 22:13:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 extensionMethodNames
--- a/libInit.cc	Fri Jun 20 09:26:41 2014 +0100
+++ b/libInit.cc	Fri Jun 20 21:11:40 2014 +0100
@@ -39,13 +39,13 @@
 _GDBValueDescriptor_Init(pass,__pRT__,snd);
 _GDBValueDescriptorError_Init(pass,__pRT__,snd);
 _jv_137libgdbs_Init(pass,__pRT__,snd);
-_GDB_Init(pass,__pRT__,snd);
 _GDBAsyncEvent_Init(pass,__pRT__,snd);
 _GDBCLICommand_Init(pass,__pRT__,snd);
 _GDBCommandEvent_Init(pass,__pRT__,snd);
 _GDBCommandResult_Init(pass,__pRT__,snd);
 _GDBCommandResultEvent_Init(pass,__pRT__,snd);
 _GDBCompoundValueDescriptor_Init(pass,__pRT__,snd);
+_GDBDebugger_Init(pass,__pRT__,snd);
 _GDBDriver_Init(pass,__pRT__,snd);
 _GDBEnumValueDescriptor_Init(pass,__pRT__,snd);
 _GDBInternalEvent_Init(pass,__pRT__,snd);
--- a/libgdbs.rc	Fri Jun 20 09:26:41 2014 +0100
+++ b/libgdbs.rc	Fri Jun 20 21:11:40 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", "Fri, 20 Jun 2014 08:24:37 GMT\0"
+      VALUE "ProductDate", "Fri, 20 Jun 2014 20:08:24 GMT\0"
     END
 
   END
--- a/tests/tests.rc	Fri Jun 20 09:26:41 2014 +0100
+++ b/tests/tests.rc	Fri Jun 20 21:11:40 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", "Fri, 20 Jun 2014 08:24:39 GMT\0"
+      VALUE "ProductDate", "Fri, 20 Jun 2014 20:08:26 GMT\0"
     END
 
   END