GNI/MI: added custom inspector view for viewing GDB/MI comminicatication trace
...to ease debugging/exploring GDB.MI. `GDBSessionRecord*` classes have been
renamed to `GDBMITrace*` to avoid (future) naming confusion with
event recording feature in GDB itself (reverse debugging).
--- a/GDBConnection.st Fri Feb 09 10:16:01 2018 +0000
+++ b/GDBConnection.st Fri Mar 09 11:01:06 2018 +0000
@@ -100,6 +100,14 @@
recorder:aGDBSessionRecorder
recorder := aGDBSessionRecorder.
+!
+
+trace
+ "Returns a GDB.MI record (trrace). Used for debugging GDB/MI communication."
+
+ ^ self recorder trace
+
+ "Created: / 09-03-2018 / 09:49:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBConnection methodsFor:'commands'!
@@ -336,7 +344,7 @@
!GDBConnection methodsFor:'initialize & release'!
-initializeWithProcess: aGDBProcess
+initializeWithProcess:aGDBProcess
process := aGDBProcess.
OperatingSystem isUNIXlike ifTrue:[
inferiorPTY := GDBPTY new.
@@ -345,12 +353,12 @@
eventQueueLock := RecursionLock new.
eventQueueNotifier := Semaphore new.
eventAnnouncer := Announcer new.
- eventAnnouncer subscriptionRegistry subscriptionClass: GDBEventSubscription.
- eventAnnouncerInternal := Announcer new.
+ eventAnnouncer subscriptionRegistry
+ subscriptionClass:GDBEventSubscription.
+ eventAnnouncerInternal := Announcer new.
outstandingCommands := Set new.
- recorder := GDBSessionRecorder new.
-
- aGDBProcess connection: self.
+ recorder := GDBMITracer new.
+ aGDBProcess connection:self.
"Created: / 20-06-2014 / 21:40:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 18-09-2014 / 00:11:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
--- a/GDBDebugger.st Fri Feb 09 10:16:01 2018 +0000
+++ b/GDBDebugger.st Fri Mar 09 11:01:06 2018 +0000
@@ -183,6 +183,12 @@
!GDBDebugger methodsFor:'accessing-private'!
+connectionTrace
+ ^ connection trace
+
+ "Created: / 09-03-2018 / 10:04:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
currentInferiorStateSequnceNumber
^ inferiorStateSequenceNumber
@@ -865,6 +871,19 @@
"Created: / 20-06-2014 / 22:07:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!GDBDebugger methodsFor:'inspecting'!
+
+inspector2TabGDBMITrace
+ <inspector2Tab>
+ ^ (self newInspector2Tab)
+ label:'GDB/MI Trace';
+ priority:50;
+ application:[ GDBMITraceViewer new debugger:self ];
+ yourself
+
+ "Modified (format): / 09-03-2018 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!GDBDebugger methodsFor:'queries'!
hasFeature: feature
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMITrace.st Fri Mar 09 11:01:06 2018 +0000
@@ -0,0 +1,285 @@
+"
+jv:libgdbs - GNU Debugger Interface Library
+Copyright (C) 2015-now Jan Vrany
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+"
+"{ Package: 'jv:libgdbs' }"
+
+"{ NameSpace: Smalltalk }"
+
+OrderedCollection subclass:#GDBMITrace
+ instanceVariableNames:'lock'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'GDB-Private-MI Trace'
+!
+
+Object subclass:#Command
+ instanceVariableNames:'string'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:GDBMITrace
+!
+
+Object subclass:#Response
+ instanceVariableNames:'string'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:GDBMITrace
+!
+
+!GDBMITrace class methodsFor:'documentation'!
+
+copyright
+"
+jv:libgdbs - GNU Debugger Interface Library
+Copyright (C) 2015-now Jan Vrany
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+"
+! !
+
+!GDBMITrace class methodsFor:'instance creation'!
+
+new
+ ^ super new initialize.
+
+ "Created: / 24-06-2014 / 00:07:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+new: size
+ "return an initialized instance"
+
+ ^ (super new: size) initialize.
+
+ "Created: / 24-06-2014 / 00:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITrace methodsFor:'adding & removing'!
+
+add:anObject
+ "add the argument, anObject to the end of the collection
+ Return the argument, anObject."
+
+ ^ lock critical:[
+ super add:anObject
+ ].
+
+ "Modified: / 29-01-1998 / 10:52:32 / cg"
+ "Modified: / 23-06-2014 / 23:55:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+add:anObject beforeIndex:index
+ "add the argument, anObject to the end of the collection.
+ Return the receiver (sigh - ST-80 compatibility)."
+
+ ^ lock critical:[
+ super add:anObject beforeIndex:index
+ ].
+
+ "Modified: / 23-06-2014 / 23:55:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addAll:aCollection beforeIndex:index
+ "insert all elements of the argument
+ Return the receiver."
+
+ ^ lock critical:[
+ super addAll:aCollection beforeIndex:index
+ ].
+
+ "Modified: / 23-06-2014 / 23:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addAllLast:aCollection
+ "add all elements of the argument, aCollection to the end of the collection.
+ Return the argument, aCollection."
+
+ ^ lock critical:[
+ super addAllLast:aCollection
+ ].
+
+ "Modified: / 23-06-2014 / 23:56:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addFirst:anObject
+ "add the argument, anObject to the beginning of the collection.
+ Return the argument, anObject."
+
+ ^ lock critical:[
+ super addFirst:anObject
+ ].
+
+ "Modified: / 29-01-1998 / 10:53:09 / cg"
+ "Modified: / 23-06-2014 / 23:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITrace methodsFor:'initialization'!
+
+initialize
+ "Invoked when a new instance is created."
+
+ "/ please change as required (and remove this comment)
+ super initialize.
+ lock := RecursionLock new.
+
+ "/ super initialize. -- commented since inherited method does nothing
+
+ "Modified: / 24-06-2014 / 00:05:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITrace methodsFor:'printing & storing'!
+
+printOn:aStream
+ self do:[:each | each printOn: aStream ]
+
+ "Modified: / 23-06-2014 / 23:51:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITrace methodsFor:'recording'!
+
+<<< aString
+ self add: (Response new string: aString)
+
+ "Created: / 24-06-2014 / 00:35:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+>>> aString
+ self add: (Command new string: aString)
+
+ "Created: / 24-06-2014 / 00:35:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITrace methodsFor:'saving & restoring'!
+
+saveInClass: class selector: selector
+ "Save recorded session in given class under given selector"
+
+ | source |
+
+ source := String new writeStream.
+ source nextPutAll: selector; cr; cr.
+ source nextPutAll:' ^ (GDBSessionRecord new: '.
+ self size printOn: source.
+ source nextPutAll: ')'; cr; cr.
+
+ self do:[:each |
+ each isCommand ifTrue:[
+ source nextPutLine: '>>>'.
+ ] ifFalse:[
+ source nextPutLine: '<<<'.
+ ].
+ each string storeOn: source.
+ source nextPut: $;; cr; cr.
+ ].
+ source nextPutAll: 'yourself'.
+
+ class compile: source contents classified: 'recorded sessions'
+
+ "Created: / 23-06-2014 / 23:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+saveInSimulatorResourceAs: selector
+ ^ self saveInClass: GDBSimulatorResource selector: selector
+
+ "Created: / 23-06-2014 / 23:17:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITrace::Command methodsFor:'accessing'!
+
+string
+ ^ string
+!
+
+string:something
+ string := something.
+! !
+
+!GDBMITrace::Command methodsFor:'printing & storing'!
+
+printOn:aStream
+ "append a printed representation if the receiver to the argument, aStream"
+
+ aStream nextPutLine: '>>>'.
+ string printOn: aStream.
+ aStream cr.
+
+ "Modified: / 24-06-2014 / 00:09:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITrace::Command methodsFor:'testing'!
+
+isCommand
+ ^ true
+
+ "Created: / 24-06-2014 / 00:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isResponse
+ ^ false
+
+ "Created: / 24-06-2014 / 00:41:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITrace::Response methodsFor:'accessing'!
+
+string
+ ^ string
+!
+
+string:something
+ string := something.
+! !
+
+!GDBMITrace::Response methodsFor:'printing & storing'!
+
+printOn:aStream
+ "append a printed representation if the receiver to the argument, aStream"
+
+ aStream nextPutLine: '<<<'.
+ string printOn: aStream.
+ aStream cr.
+
+ "Modified: / 24-06-2014 / 00:08:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITrace::Response methodsFor:'testing'!
+
+isCommand
+ ^ false
+
+ "Created: / 24-06-2014 / 00:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isResponse
+ ^ true
+
+ "Created: / 24-06-2014 / 00:41:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMITraceViewer.st Fri Mar 09 11:01:06 2018 +0000
@@ -0,0 +1,268 @@
+"
+jv:libgdbs - GNU Debugger Interface Library
+Copyright (C) 2015-now Jan Vrany
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+"
+"{ Package: 'jv:libgdbs' }"
+
+"{ NameSpace: Smalltalk }"
+
+ApplicationModel subclass:#GDBMITraceViewer
+ instanceVariableNames:'debugger traceView commandHolder traceLastIndex'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'GDB-Private-MI Trace'
+!
+
+!GDBMITraceViewer class methodsFor:'documentation'!
+
+copyright
+"
+jv:libgdbs - GNU Debugger Interface Library
+Copyright (C) 2015-now Jan Vrany
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+"
+! !
+
+!GDBMITraceViewer class methodsFor:'interface specs'!
+
+windowSpec
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "
+ UIPainter new openOnClass:VDBMITracerApplication andSelector:#windowSpec
+ VDBMITracerApplication new openInterface:#windowSpec
+ VDBMITracerApplication open
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(FullSpec
+ name: windowSpec
+ uuid: 'fc41ab90-2378-11e8-b45a-0021ccd5e3d3'
+ window:
+ (WindowSpec
+ label: 'GDB/MI Tracer'
+ name: 'GDB/MI Tracer'
+ uuid: 'fc41ab91-2378-11e8-b45a-0021ccd5e3d3'
+ min: (Point 10 10)
+ bounds: (Rectangle 0 0 870 497)
+ )
+ component:
+ (SpecCollection
+ collection: (
+ (TextEditorSpec
+ name: 'RecordView'
+ layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
+ uuid: 'fc41ab92-2378-11e8-b45a-0021ccd5e3d3'
+ hasHorizontalScrollBar: true
+ hasVerticalScrollBar: true
+ hasKeyboardFocusInitially: false
+ postBuildCallback: postBuildTraceView:
+ viewClassName: 'TextCollector'
+ )
+ (InputFieldSpec
+ name: 'CommandView'
+ layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+ uuid: 'fc41ab93-2378-11e8-b45a-0021ccd5e3d3'
+ model: commandHolder
+ acceptOnLeave: false
+ acceptOnReturn: true
+ acceptOnTab: false
+ acceptOnLostFocus: false
+ acceptOnPointerLeave: false
+ acceptIfUnchanged: true
+ emptyFieldReplacementText: 'Command to send...'
+ )
+ )
+
+ )
+ )
+
+ "Modified: / 09-03-2018 / 10:12:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITraceViewer class methodsFor:'plugIn spec'!
+
+aspectSelectors
+ "This resource specification was automatically generated
+ by the UIPainter of ST/X."
+
+ "Do not manually edit this. If it is corrupted,
+ the UIPainter may not be able to read the specification."
+
+ "Return a description of exported aspects;
+ these can be connected to aspects of an embedding application
+ (if this app is embedded in a subCanvas)."
+
+ ^ #(
+ #debuggerHolder
+ ).
+
+! !
+
+!GDBMITraceViewer methodsFor:'accessing'!
+
+debugger
+ ^ debugger
+!
+
+debugger:aGDBDebugger
+ debugger notNil ifTrue:[
+ self unsubscribe.
+ ].
+ debugger := aGDBDebugger.
+ debugger notNil ifTrue:[
+ self subscribe.
+ ].
+
+ "Modified: / 09-03-2018 / 10:47:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITraceViewer methodsFor:'aspects'!
+
+commandHolder
+ <resource: #uiAspect>
+
+ commandHolder isNil ifTrue:[
+ commandHolder := ValueHolder new.
+ commandHolder addDependent:self.
+ ].
+ ^ commandHolder.
+
+ "Modified (comment): / 09-03-2018 / 09:05:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITraceViewer methodsFor:'change & update'!
+
+update: aspect with: param from: sender
+ sender == commandHolder ifTrue:[
+ self updateAfterCommandAccepted.
+ ].
+ super update: aspect with: param from: sender
+
+ "Created: / 09-03-2018 / 10:33:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateAfterCommandAccepted
+ | command |
+
+ command := commandHolder value.
+ command notEmptyOrNil ifTrue:[
+ debugger send: command andWait: false.
+ commandHolder value: nil.
+ ].
+
+ "Created: / 09-03-2018 / 10:39:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateTrace
+ | trace |
+
+ trace := debugger connectionTrace.
+ traceLastIndex + 1 to: trace size do:[:i |
+ traceView nextPutAll: (trace at: i) printString.
+ traceLastIndex := i.
+ ].
+
+ "Created: / 09-03-2018 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITraceViewer methodsFor:'dependents access'!
+
+release
+ "remove all dependencies from the receiver"
+
+ super release.
+ self unsubscribe
+
+ "Created: / 06-06-2014 / 22:13:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITraceViewer methodsFor:'hooks'!
+
+commonPostOpen
+ debugger notNil ifTrue:[
+ self updateTrace.
+ ].
+
+ "Created: / 09-03-2018 / 09:45:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+postBuildTraceView:aView
+ traceView := aView scrolledView.
+ traceView readOnly:true.
+
+ "Created: / 09-03-2018 / 09:42:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITraceViewer methodsFor:'initialization'!
+
+initialize
+ "nothing done here;
+ but can be redefined in concrete applications"
+
+ traceLastIndex := 0.
+
+ "Created: / 09-03-2018 / 09:38:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITraceViewer methodsFor:'initialization & release'!
+
+subscribe
+ "Register for debugger events. To be overrided by subclasses"
+
+ debugger announcer when: GDBEvent send: #updateTrace to: self
+
+ "Created: / 09-03-2018 / 09:06:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 09-03-2018 / 10:11:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+unsubscribe
+ "Unsubscribe myself fo debugger events"
+ (debugger notNil and:[debugger isConnected]) ifTrue:[
+ debugger announcer unsubscribe: self.
+ ].
+
+ "Created: / 06-06-2014 / 21:26:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 01-06-2017 / 13:43:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITraceViewer class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMITracer.st Fri Mar 09 11:01:06 2018 +0000
@@ -0,0 +1,118 @@
+"
+jv:libgdbs - GNU Debugger Interface Library
+Copyright (C) 2015-now Jan Vrany
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+"
+"{ Package: 'jv:libgdbs' }"
+
+"{ NameSpace: Smalltalk }"
+
+Object subclass:#GDBMITracer
+ instanceVariableNames:'record buffer'
+ classVariableNames:''
+ poolDictionaries:'GDBDebugFlags'
+ category:'GDB-Private-MI Trace'
+!
+
+!GDBMITracer class methodsFor:'documentation'!
+
+copyright
+"
+jv:libgdbs - GNU Debugger Interface Library
+Copyright (C) 2015-now Jan Vrany
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+"
+! !
+
+!GDBMITracer class methodsFor:'instance creation'!
+
+new
+ "return an initialized instance"
+
+ ^ self basicNew initialize.
+! !
+
+!GDBMITracer methodsFor:'accessing'!
+
+trace
+ ^ record
+! !
+
+!GDBMITracer methodsFor:'initialization'!
+
+initialize
+ "Invoked when a new instance is created."
+
+ record := GDBMITrace new.
+ buffer := (String new:100) writeStream.
+
+ "/ responseBuffer := nil.
+ "/ super initialize. -- commented since inherited method does nothing
+ "Modified: / 24-06-2014 / 00:10:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (comment): / 09-03-2018 / 08:53:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITracer methodsFor:'recording'!
+
+recordCommand: command
+ record >>> command
+
+ "Created: / 22-06-2014 / 21:39:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:36:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+recordResponse: aString
+ buffer nextPutAll: aString
+
+ "Created: / 22-06-2014 / 21:56:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:10:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+recordResponseChar: aCharacter
+ buffer nextPut: aCharacter
+
+ "Created: / 22-06-2014 / 21:42:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:10:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+recordResponseEnd
+ record <<< buffer contents.
+ buffer reset.
+
+ "Created: / 22-06-2014 / 21:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 24-06-2014 / 00:36:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMITracer class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/GDBSessionRecord.st Fri Feb 09 10:16:01 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +0,0 @@
-"
-jv:libgdbs - GNU Debugger Interface Library
-Copyright (C) 2015-now Jan Vrany
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-"
-"{ Package: 'jv:libgdbs' }"
-
-"{ NameSpace: Smalltalk }"
-
-OrderedCollection subclass:#GDBSessionRecord
- instanceVariableNames:'lock'
- classVariableNames:''
- poolDictionaries:''
- category:'GDB-Private-Simulator'
-!
-
-Object subclass:#Command
- instanceVariableNames:'string'
- classVariableNames:''
- poolDictionaries:''
- privateIn:GDBSessionRecord
-!
-
-Object subclass:#Response
- instanceVariableNames:'string'
- classVariableNames:''
- poolDictionaries:''
- privateIn:GDBSessionRecord
-!
-
-!GDBSessionRecord class methodsFor:'documentation'!
-
-copyright
-"
-jv:libgdbs - GNU Debugger Interface Library
-Copyright (C) 2015-now Jan Vrany
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-"
-! !
-
-!GDBSessionRecord class methodsFor:'instance creation'!
-
-new
- ^ super new initialize.
-
- "Created: / 24-06-2014 / 00:07:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-new: size
- "return an initialized instance"
-
- ^ (super new: size) initialize.
-
- "Created: / 24-06-2014 / 00:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecord methodsFor:'adding & removing'!
-
-add:anObject
- "add the argument, anObject to the end of the collection
- Return the argument, anObject."
-
- ^ lock critical:[
- super add:anObject
- ].
-
- "Modified: / 29-01-1998 / 10:52:32 / cg"
- "Modified: / 23-06-2014 / 23:55:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-add:anObject beforeIndex:index
- "add the argument, anObject to the end of the collection.
- Return the receiver (sigh - ST-80 compatibility)."
-
- ^ lock critical:[
- super add:anObject beforeIndex:index
- ].
-
- "Modified: / 23-06-2014 / 23:55:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addAll:aCollection beforeIndex:index
- "insert all elements of the argument
- Return the receiver."
-
- ^ lock critical:[
- super addAll:aCollection beforeIndex:index
- ].
-
- "Modified: / 23-06-2014 / 23:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addAllLast:aCollection
- "add all elements of the argument, aCollection to the end of the collection.
- Return the argument, aCollection."
-
- ^ lock critical:[
- super addAllLast:aCollection
- ].
-
- "Modified: / 23-06-2014 / 23:56:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addFirst:anObject
- "add the argument, anObject to the beginning of the collection.
- Return the argument, anObject."
-
- ^ lock critical:[
- super addFirst:anObject
- ].
-
- "Modified: / 29-01-1998 / 10:53:09 / cg"
- "Modified: / 23-06-2014 / 23:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecord methodsFor:'initialization'!
-
-initialize
- "Invoked when a new instance is created."
-
- "/ please change as required (and remove this comment)
- super initialize.
- lock := RecursionLock new.
-
- "/ super initialize. -- commented since inherited method does nothing
-
- "Modified: / 24-06-2014 / 00:05:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecord methodsFor:'printing & storing'!
-
-printOn:aStream
- self do:[:each | each printOn: aStream ]
-
- "Modified: / 23-06-2014 / 23:51:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecord methodsFor:'recording'!
-
-<<< aString
- self add: (Response new string: aString)
-
- "Created: / 24-06-2014 / 00:35:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
->>> aString
- self add: (Command new string: aString)
-
- "Created: / 24-06-2014 / 00:35:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecord methodsFor:'saving & restoring'!
-
-saveInClass: class selector: selector
- "Save recorded session in given class under given selector"
-
- | source |
-
- source := String new writeStream.
- source nextPutAll: selector; cr; cr.
- source nextPutAll:' ^ (GDBSessionRecord new: '.
- self size printOn: source.
- source nextPutAll: ')'; cr; cr.
-
- self do:[:each |
- each isCommand ifTrue:[
- source nextPutLine: '>>>'.
- ] ifFalse:[
- source nextPutLine: '<<<'.
- ].
- each string storeOn: source.
- source nextPut: $;; cr; cr.
- ].
- source nextPutAll: 'yourself'.
-
- class compile: source contents classified: 'recorded sessions'
-
- "Created: / 23-06-2014 / 23:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 24-06-2014 / 00:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-saveInSimulatorResourceAs: selector
- ^ self saveInClass: GDBSimulatorResource selector: selector
-
- "Created: / 23-06-2014 / 23:17:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecord::Command methodsFor:'accessing'!
-
-string
- ^ string
-!
-
-string:something
- string := something.
-! !
-
-!GDBSessionRecord::Command methodsFor:'printing & storing'!
-
-printOn:aStream
- "append a printed representation if the receiver to the argument, aStream"
-
- aStream nextPutLine: '>>>'.
- string printOn: aStream.
- aStream cr.
-
- "Modified: / 24-06-2014 / 00:09:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecord::Command methodsFor:'testing'!
-
-isCommand
- ^ true
-
- "Created: / 24-06-2014 / 00:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-isResponse
- ^ false
-
- "Created: / 24-06-2014 / 00:41:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecord::Response methodsFor:'accessing'!
-
-string
- ^ string
-!
-
-string:something
- string := something.
-! !
-
-!GDBSessionRecord::Response methodsFor:'printing & storing'!
-
-printOn:aStream
- "append a printed representation if the receiver to the argument, aStream"
-
- aStream nextPutLine: '<<<'.
- string printOn: aStream.
- aStream cr.
-
- "Modified: / 24-06-2014 / 00:08:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecord::Response methodsFor:'testing'!
-
-isCommand
- ^ false
-
- "Created: / 24-06-2014 / 00:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-isResponse
- ^ true
-
- "Created: / 24-06-2014 / 00:41:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
--- a/GDBSessionRecorder.st Fri Feb 09 10:16:01 2018 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-"
-jv:libgdbs - GNU Debugger Interface Library
-Copyright (C) 2015-now Jan Vrany
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-"
-"{ Package: 'jv:libgdbs' }"
-
-"{ NameSpace: Smalltalk }"
-
-Object subclass:#GDBSessionRecorder
- instanceVariableNames:'record buffer'
- classVariableNames:''
- poolDictionaries:'GDBDebugFlags'
- category:'GDB-Private-Simulator'
-!
-
-!GDBSessionRecorder class methodsFor:'documentation'!
-
-copyright
-"
-jv:libgdbs - GNU Debugger Interface Library
-Copyright (C) 2015-now Jan Vrany
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-"
-! !
-
-!GDBSessionRecorder class methodsFor:'instance creation'!
-
-new
- "return an initialized instance"
-
- ^ self basicNew initialize.
-! !
-
-!GDBSessionRecorder methodsFor:'initialization'!
-
-initialize
- "Invoked when a new instance is created."
-
- "/ please change as required (and remove this comment)
- record := GDBSessionRecord new.
- buffer := (String new: 100) writeStream.
- "/ responseBuffer := nil.
-
- "/ super initialize. -- commented since inherited method does nothing
-
- "Modified: / 24-06-2014 / 00:10:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecorder methodsFor:'recording'!
-
-recordCommand: command
- record >>> command
-
- "Created: / 22-06-2014 / 21:39:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 24-06-2014 / 00:36:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-recordResponse: aString
- buffer nextPutAll: aString
-
- "Created: / 22-06-2014 / 21:56:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 24-06-2014 / 00:10:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-recordResponseChar: aCharacter
- buffer nextPut: aCharacter
-
- "Created: / 22-06-2014 / 21:42:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 24-06-2014 / 00:10:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-recordResponseEnd
- record <<< buffer contents.
- buffer reset.
-
- "Created: / 22-06-2014 / 21:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 24-06-2014 / 00:36:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!GDBSessionRecorder class methodsFor:'documentation'!
-
-version_HG
-
- ^ '$Changeset: <not expanded> $'
-! !
-
--- a/Make.proto Fri Feb 09 10:16:01 2018 +0000
+++ b/Make.proto Fri Mar 09 11:01:06 2018 +0000
@@ -139,12 +139,13 @@
$(OUTDIR)GDBMAContainer.$(O) GDBMAContainer.$(C) GDBMAContainer.$(H): GDBMAContainer.st $(INCLUDE_TOP)/stx/goodies/magritte/Magritte__MAContainer.$(H) $(INCLUDE_TOP)/stx/goodies/magritte/Magritte__MADescription.$(H) $(INCLUDE_TOP)/stx/goodies/magritte/Magritte__MAObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBMAPropertyAccessor.$(O) GDBMAPropertyAccessor.$(C) GDBMAPropertyAccessor.$(H): GDBMAPropertyAccessor.st $(INCLUDE_TOP)/stx/goodies/magritte/Magritte__MAAccessor.$(H) $(INCLUDE_TOP)/stx/goodies/magritte/Magritte__MAObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBMIPrinter.$(O) GDBMIPrinter.$(C) GDBMIPrinter.$(H): GDBMIPrinter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMITrace.$(O) GDBMITrace.$(C) GDBMITrace.$(H): GDBMITrace.st $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(STCHDR)
+$(OUTDIR)GDBMITraceViewer.$(O) GDBMITraceViewer.$(C) GDBMITraceViewer.$(H): GDBMITraceViewer.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
$(OUTDIR)GDBObject.$(O) GDBObject.$(C) GDBObject.$(H): GDBObject.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBOutputFormat.$(O) GDBOutputFormat.$(C) GDBOutputFormat.$(H): GDBOutputFormat.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBOutputFormats.$(O) GDBOutputFormats.$(C) GDBOutputFormats.$(H): GDBOutputFormats.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
$(OUTDIR)GDBPTY.$(O) GDBPTY.$(C) GDBPTY.$(H): GDBPTY.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/TTYConstants.$(H) $(STCHDR)
$(OUTDIR)GDBProcess.$(O) GDBProcess.$(C) GDBProcess.$(H): GDBProcess.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GDBSessionRecord.$(O) GDBSessionRecord.$(C) GDBSessionRecord.$(H): GDBSessionRecord.st $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/OrderedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(STCHDR)
$(OUTDIR)GDBThreadGroupType.$(O) GDBThreadGroupType.$(C) GDBThreadGroupType.$(H): GDBThreadGroupType.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBThreadState.$(O) GDBThreadState.$(C) GDBThreadState.$(H): GDBThreadState.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBTransientDataHolder.$(O) GDBTransientDataHolder.$(C) GDBTransientDataHolder.$(H): GDBTransientDataHolder.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -156,15 +157,15 @@
$(OUTDIR)GDBCommandResult.$(O) GDBCommandResult.$(C) GDBCommandResult.$(H): GDBCommandResult.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommandStatus.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBCommandResultEvent.$(O) GDBCommandResultEvent.$(C) 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)GDBConnection.$(O) GDBConnection.$(C) GDBConnection.$(H): GDBConnection.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebugFlags.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GDBDebugger.$(O) GDBDebugger.$(C) GDBDebugger.$(H): GDBDebugger.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommandStatus.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBDebugger.$(O) GDBDebugger.$(C) GDBDebugger.$(H): GDBDebugger.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommandStatus.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBDebuggerObject.$(O) GDBDebuggerObject.$(C) GDBDebuggerObject.$(H): GDBDebuggerObject.st $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBInternalEvent.$(O) GDBInternalEvent.$(C) 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)GDBInvalidObjectError.$(O) GDBInvalidObjectError.$(C) GDBInvalidObjectError.$(H): GDBInvalidObjectError.st $(INCLUDE_TOP)/jv/libgdbs/GDBError.$(H) $(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)GDBMICommand.$(O) GDBMICommand.$(C) GDBMICommand.$(H): GDBMICommand.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBMIParser.$(O) GDBMIParser.$(C) GDBMIParser.$(H): GDBMIParser.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommandStatus.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMITracer.$(O) GDBMITracer.$(C) GDBMITracer.$(H): GDBMITracer.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebugFlags.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBMemoryDump.$(O) GDBMemoryDump.$(C) GDBMemoryDump.$(H): GDBMemoryDump.st $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBMemoryDumpRow.$(O) GDBMemoryDumpRow.$(C) GDBMemoryDumpRow.$(H): GDBMemoryDumpRow.st $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GDBSessionRecorder.$(O) GDBSessionRecorder.$(C) GDBSessionRecorder.$(H): GDBSessionRecorder.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebugFlags.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBStreamOutputEvent.$(O) GDBStreamOutputEvent.$(C) 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)GDBThreadGroupTypeProcess.$(O) GDBThreadGroupTypeProcess.$(C) GDBThreadGroupTypeProcess.$(H): GDBThreadGroupTypeProcess.st $(INCLUDE_TOP)/jv/libgdbs/GDBThreadGroupType.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBThreadInfo.$(O) GDBThreadInfo.$(C) GDBThreadInfo.$(H): GDBThreadInfo.st $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -299,7 +300,7 @@
$(OUTDIR)GDBThreadGroup.$(O) GDBThreadGroup.$(C) GDBThreadGroup.$(H): GDBThreadGroup.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommandStatus.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBTransientObject.$(O) GDBTransientObject.$(C) GDBTransientObject.$(H): GDBTransientObject.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBVariable.$(O) GDBVariable.$(C) GDBVariable.$(H): GDBVariable.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)GDBVariableObject.$(O) GDBVariableObject.$(C) GDBVariableObject.$(H): GDBVariableObject.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBOutputFormats.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBVariableObject.$(O) GDBVariableObject.$(C) GDBVariableObject.$(H): GDBVariableObject.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBVariableObjectChange.$(O) GDBVariableObjectChange.$(C) GDBVariableObjectChange.$(H): GDBVariableObjectChange.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBVariableObjectExecutor.$(O) GDBVariableObjectExecutor.$(C) GDBVariableObjectExecutor.$(H): GDBVariableObjectExecutor.st $(INCLUDE_TOP)/jv/libgdbs/GDBDebuggerObject.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBObject.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)GDBBreakpointDeletedEvent.$(O) GDBBreakpointDeletedEvent.$(C) 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)
--- a/Make.spec Fri Feb 09 10:16:01 2018 +0000
+++ b/Make.spec Fri Mar 09 11:01:06 2018 +0000
@@ -63,12 +63,13 @@
GDBMAContainer \
GDBMAPropertyAccessor \
GDBMIPrinter \
+ GDBMITrace \
+ GDBMITraceViewer \
GDBObject \
GDBOutputFormat \
GDBOutputFormats \
GDBPTY \
GDBProcess \
- GDBSessionRecord \
GDBThreadGroupType \
GDBThreadState \
GDBTransientDataHolder \
@@ -86,9 +87,9 @@
GDBInvalidObjectError \
GDBMICommand \
GDBMIParser \
+ GDBMITracer \
GDBMemoryDump \
GDBMemoryDumpRow \
- GDBSessionRecorder \
GDBStreamOutputEvent \
GDBThreadGroupTypeProcess \
GDBThreadInfo \
@@ -262,12 +263,13 @@
$(OUTDIR)GDBMAContainer.$(O) \
$(OUTDIR)GDBMAPropertyAccessor.$(O) \
$(OUTDIR)GDBMIPrinter.$(O) \
+ $(OUTDIR)GDBMITrace.$(O) \
+ $(OUTDIR)GDBMITraceViewer.$(O) \
$(OUTDIR)GDBObject.$(O) \
$(OUTDIR)GDBOutputFormat.$(O) \
$(OUTDIR)GDBOutputFormats.$(O) \
$(OUTDIR)GDBPTY.$(O) \
$(OUTDIR)GDBProcess.$(O) \
- $(OUTDIR)GDBSessionRecord.$(O) \
$(OUTDIR)GDBThreadGroupType.$(O) \
$(OUTDIR)GDBThreadState.$(O) \
$(OUTDIR)GDBTransientDataHolder.$(O) \
@@ -285,9 +287,9 @@
$(OUTDIR)GDBInvalidObjectError.$(O) \
$(OUTDIR)GDBMICommand.$(O) \
$(OUTDIR)GDBMIParser.$(O) \
+ $(OUTDIR)GDBMITracer.$(O) \
$(OUTDIR)GDBMemoryDump.$(O) \
$(OUTDIR)GDBMemoryDumpRow.$(O) \
- $(OUTDIR)GDBSessionRecorder.$(O) \
$(OUTDIR)GDBStreamOutputEvent.$(O) \
$(OUTDIR)GDBThreadGroupTypeProcess.$(O) \
$(OUTDIR)GDBThreadInfo.$(O) \
--- a/abbrev.stc Fri Feb 09 10:16:01 2018 +0000
+++ b/abbrev.stc Fri Mar 09 11:01:06 2018 +0000
@@ -13,12 +13,13 @@
GDBMAContainer GDBMAContainer jv:libgdbs 'GDB-Support' 0
GDBMAPropertyAccessor GDBMAPropertyAccessor jv:libgdbs 'GDB-Support' 0
GDBMIPrinter GDBMIPrinter jv:libgdbs 'GDB-Private' 0
+GDBMITrace GDBMITrace jv:libgdbs 'GDB-Private-MI Trace' 0
+GDBMITraceViewer GDBMITraceViewer jv:libgdbs 'GDB-Private-MI Trace' 2
GDBObject GDBObject jv:libgdbs 'GDB-Core' 0
GDBOutputFormat GDBOutputFormat jv:libgdbs 'GDB-Private' 0
GDBOutputFormats GDBOutputFormats jv:libgdbs 'GDB-Core' 0
GDBPTY GDBPTY jv:libgdbs 'GDB-Private' 0
GDBProcess GDBProcess jv:libgdbs 'GDB-Private' 0
-GDBSessionRecord GDBSessionRecord jv:libgdbs 'GDB-Private-Simulator' 0
GDBThreadGroupType GDBThreadGroupType jv:libgdbs 'GDB-Core' 1
GDBThreadState GDBThreadState jv:libgdbs 'GDB-Core' 1
GDBTransientDataHolder GDBTransientDataHolder jv:libgdbs 'GDB-Private' 0
@@ -36,9 +37,9 @@
GDBInvalidObjectError GDBInvalidObjectError jv:libgdbs 'GDB-Core-Exeptions' 1
GDBMICommand GDBMICommand jv:libgdbs 'GDB-Core-Commands' 0
GDBMIParser GDBMIParser jv:libgdbs 'GDB-Private' 0
+GDBMITracer GDBMITracer jv:libgdbs 'GDB-Private-MI Trace' 0
GDBMemoryDump GDBMemoryDump jv:libgdbs 'GDB-Core' 0
GDBMemoryDumpRow GDBMemoryDumpRow jv:libgdbs 'GDB-Core' 0
-GDBSessionRecorder GDBSessionRecorder jv:libgdbs 'GDB-Private-Simulator' 0
GDBStreamOutputEvent GDBStreamOutputEvent jv:libgdbs 'GDB-Core-Events' 0
GDBThreadGroupTypeProcess GDBThreadGroupTypeProcess jv:libgdbs 'GDB-Core' 1
GDBThreadInfo GDBThreadInfo jv:libgdbs 'GDB-Private' 0
@@ -196,3 +197,4 @@
GDBThreadGroupExitedEvent GDBThreadGroupExitedEvent jv:libgdbs 'GDB-Core-Events' 0
GDBThreadGroupStartedEvent GDBThreadGroupStartedEvent jv:libgdbs 'GDB-Core-Events' 0
GDBSimulatorResource GDBSimulatorResource jv:libgdbs 'GDB-Resources' 1
+GDBMITraceViewer GDBMITraceViewer jv:libgdbs 'GDB-Private-MI Trace' 2
--- a/bc.mak Fri Feb 09 10:16:01 2018 +0000
+++ b/bc.mak Fri Mar 09 11:01:06 2018 +0000
@@ -86,12 +86,13 @@
$(OUTDIR)GDBMAContainer.$(O) GDBMAContainer.$(C) GDBMAContainer.$(H): GDBMAContainer.st $(INCLUDE_TOP)\stx\goodies\magritte\Magritte__MAContainer.$(H) $(INCLUDE_TOP)\stx\goodies\magritte\Magritte__MADescription.$(H) $(INCLUDE_TOP)\stx\goodies\magritte\Magritte__MAObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBMAPropertyAccessor.$(O) GDBMAPropertyAccessor.$(C) GDBMAPropertyAccessor.$(H): GDBMAPropertyAccessor.st $(INCLUDE_TOP)\stx\goodies\magritte\Magritte__MAAccessor.$(H) $(INCLUDE_TOP)\stx\goodies\magritte\Magritte__MAObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBMIPrinter.$(O) GDBMIPrinter.$(C) GDBMIPrinter.$(H): GDBMIPrinter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMITrace.$(O) GDBMITrace.$(C) GDBMITrace.$(H): GDBMITrace.st $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(STCHDR)
+$(OUTDIR)GDBMITraceViewer.$(O) GDBMITraceViewer.$(C) GDBMITraceViewer.$(H): GDBMITraceViewer.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
$(OUTDIR)GDBObject.$(O) GDBObject.$(C) GDBObject.$(H): GDBObject.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBOutputFormat.$(O) GDBOutputFormat.$(C) GDBOutputFormat.$(H): GDBOutputFormat.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBOutputFormats.$(O) GDBOutputFormats.$(C) GDBOutputFormats.$(H): GDBOutputFormats.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
$(OUTDIR)GDBPTY.$(O) GDBPTY.$(C) GDBPTY.$(H): GDBPTY.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\TTYConstants.$(H) $(STCHDR)
$(OUTDIR)GDBProcess.$(O) GDBProcess.$(C) GDBProcess.$(H): GDBProcess.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GDBSessionRecord.$(O) GDBSessionRecord.$(C) GDBSessionRecord.$(H): GDBSessionRecord.st $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\OrderedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(STCHDR)
$(OUTDIR)GDBThreadGroupType.$(O) GDBThreadGroupType.$(C) GDBThreadGroupType.$(H): GDBThreadGroupType.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBThreadState.$(O) GDBThreadState.$(C) GDBThreadState.$(H): GDBThreadState.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBTransientDataHolder.$(O) GDBTransientDataHolder.$(C) GDBTransientDataHolder.$(H): GDBTransientDataHolder.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -103,15 +104,15 @@
$(OUTDIR)GDBCommandResult.$(O) GDBCommandResult.$(C) GDBCommandResult.$(H): GDBCommandResult.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommandStatus.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBCommandResultEvent.$(O) GDBCommandResultEvent.$(C) 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)GDBConnection.$(O) GDBConnection.$(C) GDBConnection.$(H): GDBConnection.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebugFlags.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GDBDebugger.$(O) GDBDebugger.$(C) GDBDebugger.$(H): GDBDebugger.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommandStatus.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBDebugger.$(O) GDBDebugger.$(C) GDBDebugger.$(H): GDBDebugger.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommandStatus.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBDebuggerObject.$(O) GDBDebuggerObject.$(C) GDBDebuggerObject.$(H): GDBDebuggerObject.st $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBInternalEvent.$(O) GDBInternalEvent.$(C) 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)GDBInvalidObjectError.$(O) GDBInvalidObjectError.$(C) GDBInvalidObjectError.$(H): GDBInvalidObjectError.st $(INCLUDE_TOP)\jv\libgdbs\GDBError.$(H) $(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)GDBMICommand.$(O) GDBMICommand.$(C) GDBMICommand.$(H): GDBMICommand.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBMIParser.$(O) GDBMIParser.$(C) GDBMIParser.$(H): GDBMIParser.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommandStatus.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMITracer.$(O) GDBMITracer.$(C) GDBMITracer.$(H): GDBMITracer.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebugFlags.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBMemoryDump.$(O) GDBMemoryDump.$(C) GDBMemoryDump.$(H): GDBMemoryDump.st $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBMemoryDumpRow.$(O) GDBMemoryDumpRow.$(C) GDBMemoryDumpRow.$(H): GDBMemoryDumpRow.st $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GDBSessionRecorder.$(O) GDBSessionRecorder.$(C) GDBSessionRecorder.$(H): GDBSessionRecorder.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebugFlags.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBStreamOutputEvent.$(O) GDBStreamOutputEvent.$(C) 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)GDBThreadGroupTypeProcess.$(O) GDBThreadGroupTypeProcess.$(C) GDBThreadGroupTypeProcess.$(H): GDBThreadGroupTypeProcess.st $(INCLUDE_TOP)\jv\libgdbs\GDBThreadGroupType.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBThreadInfo.$(O) GDBThreadInfo.$(C) GDBThreadInfo.$(H): GDBThreadInfo.st $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -246,7 +247,7 @@
$(OUTDIR)GDBThreadGroup.$(O) GDBThreadGroup.$(C) GDBThreadGroup.$(H): GDBThreadGroup.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommandStatus.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBTransientObject.$(O) GDBTransientObject.$(C) GDBTransientObject.$(H): GDBTransientObject.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBVariable.$(O) GDBVariable.$(C) GDBVariable.$(H): GDBVariable.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)GDBVariableObject.$(O) GDBVariableObject.$(C) GDBVariableObject.$(H): GDBVariableObject.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBOutputFormats.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBVariableObject.$(O) GDBVariableObject.$(C) GDBVariableObject.$(H): GDBVariableObject.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBVariableObjectChange.$(O) GDBVariableObjectChange.$(C) GDBVariableObjectChange.$(H): GDBVariableObjectChange.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBVariableObjectExecutor.$(O) GDBVariableObjectExecutor.$(C) GDBVariableObjectExecutor.$(H): GDBVariableObjectExecutor.st $(INCLUDE_TOP)\jv\libgdbs\GDBDebuggerObject.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBObject.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)GDBBreakpointDeletedEvent.$(O) GDBBreakpointDeletedEvent.$(C) 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)
--- a/jv_libgdbs.st Fri Feb 09 10:16:01 2018 +0000
+++ b/jv_libgdbs.st Fri Mar 09 11:01:06 2018 +0000
@@ -129,12 +129,13 @@
GDBMAContainer
GDBMAPropertyAccessor
GDBMIPrinter
+ GDBMITrace
+ GDBMITraceViewer
GDBObject
GDBOutputFormat
GDBOutputFormats
GDBPTY
GDBProcess
- GDBSessionRecord
GDBThreadGroupType
GDBThreadState
GDBTransientDataHolder
@@ -152,9 +153,9 @@
GDBInvalidObjectError
GDBMICommand
GDBMIParser
+ GDBMITracer
GDBMemoryDump
GDBMemoryDumpRow
- GDBSessionRecorder
GDBStreamOutputEvent
GDBThreadGroupTypeProcess
GDBThreadInfo
@@ -312,6 +313,7 @@
GDBThreadGroupExitedEvent
GDBThreadGroupStartedEvent
(GDBSimulatorResource autoload)
+ (GDBMITraceViewer autoload)
)
!
--- a/libInit.cc Fri Feb 09 10:16:01 2018 +0000
+++ b/libInit.cc Fri Mar 09 11:01:06 2018 +0000
@@ -28,12 +28,13 @@
extern void _GDBMAContainer_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBMAPropertyAccessor_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBMIPrinter_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _GDBMITrace_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _GDBMITraceViewer_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBObject_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBOutputFormat_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBOutputFormats_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBPTY_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBProcess_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
-extern void _GDBSessionRecord_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBThreadGroupType_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBThreadState_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBTransientDataHolder_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -51,9 +52,9 @@
extern void _GDBInvalidObjectError_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBMICommand_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBMIParser_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
+extern void _GDBMITracer_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBMemoryDump_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBMemoryDumpRow_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
-extern void _GDBSessionRecorder_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBStreamOutputEvent_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBThreadGroupTypeProcess_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
extern void _GDBThreadInfo_Init(int pass, struct __vmData__ *__pRT__, OBJ snd);
@@ -236,12 +237,13 @@
_GDBMAContainer_Init(pass,__pRT__,snd);
_GDBMAPropertyAccessor_Init(pass,__pRT__,snd);
_GDBMIPrinter_Init(pass,__pRT__,snd);
+ _GDBMITrace_Init(pass,__pRT__,snd);
+ _GDBMITraceViewer_Init(pass,__pRT__,snd);
_GDBObject_Init(pass,__pRT__,snd);
_GDBOutputFormat_Init(pass,__pRT__,snd);
_GDBOutputFormats_Init(pass,__pRT__,snd);
_GDBPTY_Init(pass,__pRT__,snd);
_GDBProcess_Init(pass,__pRT__,snd);
- _GDBSessionRecord_Init(pass,__pRT__,snd);
_GDBThreadGroupType_Init(pass,__pRT__,snd);
_GDBThreadState_Init(pass,__pRT__,snd);
_GDBTransientDataHolder_Init(pass,__pRT__,snd);
@@ -259,9 +261,9 @@
_GDBInvalidObjectError_Init(pass,__pRT__,snd);
_GDBMICommand_Init(pass,__pRT__,snd);
_GDBMIParser_Init(pass,__pRT__,snd);
+ _GDBMITracer_Init(pass,__pRT__,snd);
_GDBMemoryDump_Init(pass,__pRT__,snd);
_GDBMemoryDumpRow_Init(pass,__pRT__,snd);
- _GDBSessionRecorder_Init(pass,__pRT__,snd);
_GDBStreamOutputEvent_Init(pass,__pRT__,snd);
_GDBThreadGroupTypeProcess_Init(pass,__pRT__,snd);
_GDBThreadInfo_Init(pass,__pRT__,snd);