--- a/GDBFrame.st Fri Feb 27 14:45:03 2015 +0100
+++ b/GDBFrame.st Fri Feb 27 16:47:55 2015 +0100
@@ -1,7 +1,9 @@
"{ Package: 'jv:libgdbs' }"
+"{ NameSpace: Smalltalk }"
+
GDBTransientObject subclass:#GDBFrame
- instanceVariableNames:'thread level addr func file fullname line from'
+ instanceVariableNames:'thread level addr func file fullname line from variables'
classVariableNames:''
poolDictionaries:''
category:'GDB-Core'
@@ -55,25 +57,60 @@
thread
^ thread
+!
+
+variables
+ self ensureIsValid.
+ variables isNil ifTrue:[
+ variables := GDBTransientDataHolder debugger: debugger factory:[
+ | result |
+
+ result := debugger send: (GDBMI_stack_list_variables new arguments: { '--thread' . thread id . '--frame' . level . '--no-values' }).
+ (result propertyAt: #variables)
+ do:[ :each | each debugger: debugger ];
+ yourself
+ ].
+ ].
+ ^ variables value
+
+ "Created: / 27-02-2015 / 14:56:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBFrame methodsFor:'printing & storing'!
+displayString
+ ^ String streamContents: [ :aStream |
+ level printOn:aStream base: 10 size: 2 fill: Character space.
+ aStream nextPutAll:' '.
+ addr printOn:aStream.
+ aStream nextPutAll:' '.
+ func printOn:aStream.
+ aStream nextPutAll:' ('.
+ file printOn:aStream.
+ aStream nextPutAll:', line: '.
+ line printOn:aStream.
+ aStream nextPutAll:')'.
+ ].
+
+ "Created: / 27-02-2015 / 15:20:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
printOn:aStream
"append a printed representation if the receiver to the argument, aStream"
- aStream nextPutAll:'frame '.
+ super printOn: aStream.
+ aStream nextPutAll:'('.
level printOn:aStream base: 10 size: 2 fill: Character space.
aStream nextPutAll:' '.
addr printOn:aStream.
aStream nextPutAll:' '.
func printOn:aStream.
- aStream nextPutAll:' ('.
+ aStream nextPutAll:' - '.
file printOn:aStream.
- aStream nextPutAll:', line: '.
+ aStream nextPutAll:':'.
line printOn:aStream.
aStream nextPutAll:')'.
- "Modified: / 17-09-2014 / 22:15:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 27-02-2015 / 15:21:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !