author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Thu, 11 Jan 2018 23:53:06 +0000 | |
changeset 95 | f417138e9c48 |
parent 93 | b1715ebf8df1 |
child 96 | 43591d874c9f |
permissions | -rw-r--r-- |
91
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
1 |
" |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
2 |
jv:libgdbs - GNU Debugger Interface Library |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
3 |
Copyright (C) 2015-now Jan Vrany |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
4 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
5 |
This library is free software; you can redistribute it and/or |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
6 |
modify it under the terms of the GNU Lesser General Public |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
7 |
License as published by the Free Software Foundation; either |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
8 |
version 2.1 of the License. |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
9 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
10 |
This library is distributed in the hope that it will be useful, |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
11 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
12 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
13 |
Lesser General Public License for more details. |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
14 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
15 |
You should have received a copy of the GNU Lesser General Public |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
16 |
License along with this library; if not, write to the Free Software |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
17 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
18 |
" |
0 | 19 |
"{ Package: 'jv:libgdbs' }" |
20 |
||
53 | 21 |
"{ NameSpace: Smalltalk }" |
22 |
||
21
83395ca8b257
Renamed GDB to GDBDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
23 |
Object subclass:#GDBDebugger |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
24 |
instanceVariableNames:'connection commandSequenceNumber inferiorStateSequenceNumber |
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
25 |
inferiors breakpoints selectedInferior selectedThread |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
26 |
selectedFrame prettyPrintingEnabled frameFiltersEnabled' |
0 | 27 |
classVariableNames:'' |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
28 |
poolDictionaries:'GDBCommandStatus' |
0 | 29 |
category:'GDB-Core' |
30 |
! |
|
31 |
||
91
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
32 |
!GDBDebugger class methodsFor:'documentation'! |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
33 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
34 |
copyright |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
35 |
" |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
36 |
jv:libgdbs - GNU Debugger Interface Library |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
37 |
Copyright (C) 2015-now Jan Vrany |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
38 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
39 |
This library is free software; you can redistribute it and/or |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
40 |
modify it under the terms of the GNU Lesser General Public |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
41 |
License as published by the Free Software Foundation; either |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
42 |
version 2.1 of the License. |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
43 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
44 |
This library is distributed in the hope that it will be useful, |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
45 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
46 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
47 |
Lesser General Public License for more details. |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
48 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
49 |
You should have received a copy of the GNU Lesser General Public |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
50 |
License along with this library; if not, write to the Free Software |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
51 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
52 |
" |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
90
diff
changeset
|
53 |
! ! |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
54 |
|
21
83395ca8b257
Renamed GDB to GDBDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
55 |
!GDBDebugger class methodsFor:'instance creation'! |
0 | 56 |
|
93
b1715ebf8df1
Resurected old `GDBProcess` implementation using pipes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
57 |
new |
b1715ebf8df1
Resurected old `GDBProcess` implementation using pipes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
58 |
^ self newWithProcess: GDBProcess new |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
59 |
|
93
b1715ebf8df1
Resurected old `GDBProcess` implementation using pipes
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
60 |
"Modified: / 12-12-2017 / 21:15:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
61 |
! |
0 | 62 |
|
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
63 |
newWithProcess: aGDBProcess |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
64 |
^ self basicNew initializeWithProcess: aGDBProcess |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
65 |
|
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
66 |
"Created: / 20-06-2014 / 21:44:34 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
0 | 67 |
! ! |
68 |
||
21
83395ca8b257
Renamed GDB to GDBDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
69 |
!GDBDebugger methodsFor:'accessing'! |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
70 |
|
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
71 |
announcer |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
72 |
^ connection eventAnnouncer. |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
73 |
|
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
74 |
"Created: / 02-06-2014 / 23:06:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
75 |
! |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
76 |
|
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
77 |
breakpoints |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
78 |
breakpoints isNil ifTrue:[ |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
79 |
breakpoints := List new. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
80 |
]. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
81 |
^ breakpoints |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
82 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
83 |
"Created: / 06-07-2017 / 16:06:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
84 |
! |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
85 |
|
79
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
86 |
consoleInput |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
87 |
^ connection consoleInput |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
88 |
|
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
89 |
"Created: / 31-05-2017 / 23:20:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
90 |
"Modified: / 02-06-2017 / 23:13:23 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
91 |
! |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
92 |
|
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
93 |
consoleOutput |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
94 |
^ connection consoleOutput |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
95 |
|
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
96 |
"Created: / 31-05-2017 / 23:20:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
97 |
"Modified: / 02-06-2017 / 23:13:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
98 |
! |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
78
diff
changeset
|
99 |
|
36
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
100 |
inferiorForId: id |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
101 |
^ inferiors ? #() detect:[:e | e id = id ] ifNone:[ |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
102 |
self error: ('No inferior (thread group) with id ''%1'' found!!' bindWith: id) |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
103 |
]. |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
104 |
|
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
105 |
"Created: / 07-09-2014 / 21:22:56 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
106 |
! |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
107 |
|
10
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
108 |
inferiorStderr |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
109 |
^ connection inferiorPTY master |
10
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
110 |
|
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
111 |
"Created: / 09-06-2014 / 10:01:21 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
11
474fbb650afe
PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
112 |
"Modified: / 09-06-2014 / 18:26:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
10
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
113 |
! |
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
114 |
|
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
115 |
inferiorStdin |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
116 |
^ connection inferiorPTY master |
10
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
117 |
|
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
118 |
"Created: / 09-06-2014 / 10:00:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
11
474fbb650afe
PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
119 |
"Modified: / 09-06-2014 / 18:27:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
10
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
120 |
! |
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
121 |
|
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
122 |
inferiorStdout |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
123 |
^ connection inferiorPTY master |
10
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
124 |
|
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
125 |
"Created: / 09-06-2014 / 10:01:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
11
474fbb650afe
PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
126 |
"Modified: / 09-06-2014 / 18:27:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
127 |
! |
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
128 |
|
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
129 |
inferiors |
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
130 |
^ inferiors ? #() |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
131 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
132 |
"Modified: / 06-07-2017 / 16:06:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
133 |
! |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
134 |
|
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
135 |
selectedInferior |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
136 |
selectedInferior isNil ifTrue:[ |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
137 |
inferiors size == 1 ifTrue:[ |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
138 |
^ inferiors anElement. |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
139 |
]. |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
140 |
]. |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
141 |
^ selectedInferior |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
142 |
|
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
143 |
"Created: / 07-09-2014 / 23:02:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
10
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
144 |
! ! |
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
145 |
|
21
83395ca8b257
Renamed GDB to GDBDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
146 |
!GDBDebugger methodsFor:'accessing-private'! |
10
f04a22c9b16c
Use special PTY for inferior input/output...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
9
diff
changeset
|
147 |
|
19 | 148 |
currentInferiorStateSequnceNumber |
149 |
^ inferiorStateSequenceNumber |
|
150 |
||
151 |
"Created: / 19-06-2014 / 22:22:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
152 |
! |
|
153 |
||
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
154 |
nextCommandSequnceNumber |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
155 |
commandSequenceNumber := commandSequenceNumber + 1. |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
156 |
commandSequenceNumber == SmallInteger maxVal ifTrue:[ |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
157 |
commandSequenceNumber := 0. |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
158 |
]. |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
159 |
^ commandSequenceNumber |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
160 |
|
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
161 |
"Created: / 02-06-2014 / 23:48:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
162 |
! |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
163 |
|
19 | 164 |
nextInferiorStateSequnceNumber |
165 |
inferiorStateSequenceNumber := inferiorStateSequenceNumber + 1. |
|
166 |
inferiorStateSequenceNumber == SmallInteger maxVal ifTrue:[ |
|
167 |
inferiorStateSequenceNumber := 0. |
|
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
168 |
]. |
19 | 169 |
^ inferiorStateSequenceNumber |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
170 |
|
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
171 |
"Created: / 02-06-2014 / 23:48:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
172 |
! ! |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
173 |
|
21
83395ca8b257
Renamed GDB to GDBDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
174 |
!GDBDebugger methodsFor:'commands'! |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
175 |
|
56
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
176 |
send: command |
64 | 177 |
"Execute given `command` and wait until it finishes and return its result. |
178 |
`command` may be either a GDBCommand or string, in which case it will |
|
179 |
be parsed into a GDBCommand. |
|
180 |
" |
|
181 |
^ self send:command andWait:true. |
|
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
182 |
|
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
183 |
"Created: / 03-06-2014 / 00:10:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
64 | 184 |
"Modified (comment): / 08-03-2015 / 05:50:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
185 |
! |
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
186 |
|
64 | 187 |
send:command andWait:wait |
188 |
"Sends given `command` to GDB. If `wait` is true, wait for |
|
189 |
command to finish and return the command result. |
|
190 |
Otherwise, return nil immediately. |
|
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
191 |
|
85
6fea1000a2a5
Implemented proper quoting of MI commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
82
diff
changeset
|
192 |
If `wait` is true and if command results in an error GDBError |
6fea1000a2a5
Implemented proper quoting of MI commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
82
diff
changeset
|
193 |
is thrown. |
6fea1000a2a5
Implemented proper quoting of MI commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
82
diff
changeset
|
194 |
|
64 | 195 |
`command` may be either a GDBCommand or string, in which case it will |
196 |
be parsed into a GDBCommand. |
|
197 |
" |
|
198 |
||
199 |
| cmd token blocker handler1 handler2 result | |
|
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
200 |
|
56
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
201 |
cmd := command. |
64 | 202 |
cmd isString ifTrue:[ |
203 |
cmd := GDBCLICommand new value:cmd. |
|
56
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
204 |
]. |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
205 |
token := self nextCommandSequnceNumber. |
64 | 206 |
cmd token:token. |
207 |
^ wait ifTrue:[ |
|
208 |
self assert:Processor activeProcess ~~ connection eventDispatchProcess |
|
209 |
message:'Cannot send commands from within event dispatching process. Would deadlock'. |
|
210 |
handler1 := [:ev | |
|
211 |
ev token == token ifTrue:[ |
|
212 |
connection eventAnnouncer unsubscribe:handler1. |
|
213 |
result := ev result. |
|
214 |
connection eventAnnouncerInternal when:GDBEventSetProcessingFinished |
|
215 |
do:handler2. |
|
216 |
] |
|
217 |
]. |
|
218 |
handler2 := [:ev | |
|
219 |
connection eventAnnouncerInternal unsubscribe:handler2. |
|
220 |
blocker signal. |
|
221 |
]. |
|
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
222 |
blocker := Semaphore new. |
64 | 223 |
connection eventAnnouncer when:GDBCommandResultEvent do:handler1. |
224 |
connection pushEvent:(GDBCommandEvent new command:cmd). |
|
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
225 |
blocker wait. |
85
6fea1000a2a5
Implemented proper quoting of MI commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
82
diff
changeset
|
226 |
result isError ifTrue:[ |
88
90c50fd6374c
Introduced new exception class: `GDBCommandFailedError`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
227 |
GDBCommandFailedError raiseForResult: result. |
85
6fea1000a2a5
Implemented proper quoting of MI commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
82
diff
changeset
|
228 |
]. |
40
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
38
diff
changeset
|
229 |
result. |
64 | 230 |
] |
231 |
ifFalse:[ |
|
232 |
connection pushEvent:(GDBCommandEvent new command:cmd). |
|
40
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
38
diff
changeset
|
233 |
nil. |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
234 |
] |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
235 |
|
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
236 |
"Created: / 02-06-2014 / 23:45:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
88
90c50fd6374c
Introduced new exception class: `GDBCommandFailedError`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
237 |
"Modified: / 13-09-2017 / 14:46:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
64 | 238 |
! |
239 |
||
240 |
send:command andWaitFor:eventHandlers |
|
241 |
"Sends given `command` to GDB and then wait for events mathing |
|
242 |
`eventHandlers`. |
|
243 |
||
244 |
Params: |
|
245 |
`command` may be either a GDBCommand or string, in which case it will |
|
246 |
be parsed into a GDBCommand. |
|
247 |
`eventHandler` may be either nil or event class or one arg block or collection |
|
248 |
of event classes or blocks. |
|
249 |
- If nil then do not wait for anything (use nil for async send) |
|
250 |
- If event class, then wait for an event of that class. Note, that |
|
251 |
subclasses are handled too. |
|
252 |
- If block, then wait for an event for which the block returns true. |
|
253 |
- If collectio, then wait for a sequence of events, each matched as above. |
|
254 |
||
255 |
Returns: a matching event or events (in case a collection of handlers has been passes)" |
|
256 |
||
257 |
^ self send: command andWaitFor: eventHandlers withTimeoutMs: nil |
|
258 |
||
259 |
"Created: / 08-03-2015 / 06:03:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
260 |
! |
|
261 |
||
262 |
send:command andWaitFor:eventHandlers withTimeoutMs:timeout |
|
263 |
"Sends given `command` to GDB and then wait for events mathing |
|
264 |
`eventHandlers`. Raise a TimeoutError if expected events don't arrive |
|
265 |
in specified time. |
|
266 |
||
267 |
Params: |
|
268 |
`command` may be either a GDBCommand or string, in which case it will |
|
269 |
be parsed into a GDBCommand. |
|
270 |
`eventHandler` may be either nil or event class or one arg block or collection |
|
271 |
of event classes or blocks. |
|
272 |
- If nil then do not wait for anything (use nil for async send) |
|
273 |
- If event class, then wait for an event of that class. Note, that |
|
274 |
subclasses are handled too. |
|
275 |
- If block, then wait for an event for which the block returns true. |
|
276 |
- If collectio, then wait for a sequence of events, each matched as above. |
|
277 |
`timeout` wait at most that much milliseconds, throw TimeoutError otherwise. If `timeout` == mil |
|
278 |
then wait for indefinitly |
|
279 |
||
280 |
Returns: a matching event or events (in case a collection of handlers has been passes)" |
|
281 |
||
282 |
| commandObject | |
|
283 |
||
284 |
command isString ifTrue:[ |
|
285 |
commandObject := (GDBMIParser on:command) parseCommand. |
|
286 |
commandObject token:self nextCommandSequnceNumber. |
|
287 |
] ifFalse:[ |
|
288 |
commandObject := command. |
|
289 |
commandObject token isNil ifTrue:[ |
|
290 |
commandObject token:self nextCommandSequnceNumber. |
|
291 |
]. |
|
292 |
]. |
|
293 |
^ self |
|
294 |
do:[ connection pushEvent:(GDBCommandEvent new command: commandObject) ] |
|
295 |
andWaitFor: eventHandlers |
|
296 |
withTimeoutMs: timeout |
|
297 |
||
298 |
"Created: / 07-03-2015 / 11:38:45 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
299 |
"Modified: / 08-03-2015 / 07:31:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
300 |
! ! |
|
301 |
||
82
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
302 |
!GDBDebugger methodsFor:'commands - API'! |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
303 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
304 |
attach: aStringOrInteger |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
305 |
"Attach to a running process. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
306 |
API equivalent to CLI command: |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
307 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
308 |
(gdb) attach <aStringOrInteger> |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
309 |
" |
90
6046abc9ddf4
Replaced Squek computed arrays by more verbose `Array with:...`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
310 |
self send:(GDBMI_target_attach arguments:(Array with: aStringOrInteger asString)) andWait: true. |
82
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
311 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
312 |
"Created: / 05-06-2017 / 17:08:37 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
90
6046abc9ddf4
Replaced Squek computed arrays by more verbose `Array with:...`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
313 |
"Modified: / 17-11-2017 / 20:23:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
82
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
314 |
! |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
315 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
316 |
enableFrameFilters |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
317 |
"Enables frame filters & frame decorators for MI interface. Once enabled, |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
318 |
cannot be turned off. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
319 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
320 |
@see GDBMI_enable_frame_filters" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
321 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
322 |
| result | |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
323 |
result := self send: GDBMI_enable_frame_filters new. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
324 |
result isDone ifTrue:[ |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
325 |
frameFiltersEnabled := true. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
326 |
] ifFalse:[ |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
327 |
GDBError raiseErrorString: 'failed to enable frame filters' |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
328 |
]. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
329 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
330 |
"Created: / 12-06-2017 / 09:29:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
331 |
! |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
332 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
333 |
enablePrettyPrinting |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
334 |
"Enables pretty printing for MI interface. Once enabled, |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
335 |
cannot be turned off. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
336 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
337 |
@see GDBMI_enable_pretty_printing" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
338 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
339 |
| result | |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
340 |
result := self send: GDBMI_enable_pretty_printing new. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
341 |
result isDone ifTrue:[ |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
342 |
prettyPrintingEnabled := true. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
343 |
] ifFalse:[ |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
344 |
GDBError raiseErrorString: 'failed to enable pretty printing' |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
345 |
]. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
346 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
347 |
"Created: / 12-06-2017 / 09:29:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
348 |
! |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
349 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
350 |
executable: aStringOrFilename |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
351 |
"Sets the executable to debug. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
352 |
API equivalent to CLI command: |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
353 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
354 |
(gdb) exec-file <aStringOrFilename> |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
355 |
" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
356 |
self executable: aStringOrFilename arguments: nil |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
357 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
358 |
"Created: / 28-02-2015 / 00:19:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
359 |
"Modified: / 05-06-2017 / 17:06:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
360 |
! |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
361 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
362 |
executable: aStringOrFilename arguments: anArray"of String" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
363 |
"Sets the executable to debug and argument to pass to it. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
364 |
API equivalent to CLI command: |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
365 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
366 |
(gdb) exec-file <aStringOrFilename> |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
367 |
(gdb) set args <anArray> |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
368 |
" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
369 |
|
90
6046abc9ddf4
Replaced Squek computed arrays by more verbose `Array with:...`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
370 |
self send:(GDBMI_file_exec_and_symbols arguments: (Array with: aStringOrFilename asString)) andWait: true. |
82
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
371 |
anArray notEmptyOrNil ifTrue:[ |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
372 |
self send: (GDBMI_exec_arguments arguments: anArray) andWait: true. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
373 |
]. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
374 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
375 |
"Created: / 05-06-2017 / 17:05:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
90
6046abc9ddf4
Replaced Squek computed arrays by more verbose `Array with:...`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
376 |
"Modified: / 17-11-2017 / 20:22:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
82
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
377 |
! ! |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
378 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
379 |
!GDBDebugger methodsFor:'evaluating'! |
64 | 380 |
|
381 |
do: block andWaitFor:eventHandlers |
|
382 |
"Evaluates a given block and then wait for events. |
|
383 |
`eventHandlers`. |
|
384 |
Params: |
|
385 |
`block` block to evaluate |
|
386 |
`eventHandler` may be either nil or event class or one arg block or collection |
|
387 |
of event classes or blocks. |
|
388 |
- If nil then do not wait for anything (use nil for async send) |
|
389 |
- If event class, then wait for an event of that class. Note, that |
|
390 |
subclasses are handled too. |
|
391 |
- If block, then wait for an event for which the block returns true. |
|
82
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
392 |
- If collection, then wait for a sequence of events, each matched as above. |
64 | 393 |
Returns: a matching event or events (in case a collection of handlers has been passed)" |
394 |
||
395 |
^ self do: block andWaitFor: eventHandlers withTimeoutMs: nil |
|
396 |
||
397 |
"Created: / 08-03-2015 / 07:30:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
82
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
398 |
"Modified (comment): / 12-06-2017 / 09:31:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
64 | 399 |
! |
400 |
||
401 |
do: block andWaitFor:eventHandlers withTimeoutMs:timeout |
|
402 |
"Evaluates a given block and then wait for events. |
|
403 |
`eventHandlers`. Raise a TimeoutError if expected events don't arrive |
|
404 |
in specified time. |
|
405 |
||
406 |
Params: |
|
407 |
`block` block to evaluate |
|
408 |
`eventHandler` may be either nil or event class or one arg block or collection |
|
409 |
of event classes or blocks. |
|
410 |
- If nil then do not wait for anything (use nil for async send) |
|
411 |
- If event class, then wait for an event of that class. Note, that |
|
412 |
subclasses are handled too. |
|
413 |
- If block, then wait for an event for which the block returns true. |
|
414 |
- If collectio, then wait for a sequence of events, each matched as above. |
|
415 |
`timeout` wait at most that much milliseconds, throw TimeoutError otherwise. If `timeout` == mil |
|
416 |
then wait for indefinitly |
|
417 |
||
418 |
Returns: a matching event or events (in case a collection of handlers has been passes)" |
|
419 |
||
420 |
| handlersArray handlerFinal eventsArray blocker | |
|
421 |
||
422 |
eventHandlers isNil ifTrue:[ |
|
423 |
"/ Asynchronous send... |
|
424 |
self assert:timeout isNil. |
|
425 |
block value. |
|
426 |
^ nil |
|
427 |
]. |
|
428 |
"/ Synchronous send... |
|
429 |
self assert:Processor activeProcess ~~ connection eventDispatchProcess |
|
430 |
message:'Cannot send commands from within event dispatching process. Would deadlock'. |
|
431 |
eventHandlers isCollection |
|
432 |
ifTrue:[ handlersArray := eventHandlers ] |
|
433 |
ifFalse:[ handlersArray := Array with:eventHandlers ]. |
|
434 |
eventsArray := Array new:handlersArray size. |
|
435 |
1 to:handlersArray size do:[:i | |
|
436 |
| handler | |
|
437 |
||
438 |
handler := handlersArray at:i. |
|
439 |
handlersArray at:i |
|
440 |
put:[:event | |
|
441 |
| matches | |
|
442 |
||
443 |
matches := handler isBlock ifTrue:[ handler value:event ] ifFalse:[ event isKindOf:handler ]. |
|
444 |
(matches and:[ i == 1 or:[ (eventsArray at:i - 1) notNil ] ]) ifTrue:[ |
|
445 |
eventsArray at:i put:event. |
|
446 |
self announcer unsubscribe:(handlersArray at:i). |
|
447 |
i == handlersArray size ifTrue:[ |
|
448 |
connection eventAnnouncerInternal when: GDBEventSetProcessingFinished do: handlerFinal. |
|
449 |
]. |
|
450 |
]. |
|
451 |
]. |
|
452 |
self announcer when:GDBEvent do:(handlersArray at:i). |
|
453 |
]. |
|
454 |
handlerFinal := [ :event | connection eventAnnouncerInternal unsubscribe: handlerFinal. blocker signal ]. |
|
455 |
blocker := Semaphore new. |
|
456 |
block value. |
|
457 |
[ |
|
458 |
(blocker waitWithTimeoutMs:timeout) isNil ifTrue:[ |
|
459 |
eventsArray := nil. |
|
460 |
]. |
|
461 |
] ensure:[ |
|
462 |
handlersArray do:[:handler | |
|
463 |
handler notNil ifTrue:[ |
|
464 |
self announcer unsubscribe:handler |
|
465 |
] |
|
466 |
]. |
|
467 |
]. |
|
468 |
eventsArray isNil ifTrue:[ |
|
469 |
(TimeoutError newException) |
|
470 |
parameter:timeout; |
|
471 |
raise. |
|
472 |
]. |
|
473 |
^ eventHandlers isCollection ifTrue:[ eventsArray ] ifFalse:[ eventsArray first ] |
|
474 |
||
475 |
"Created: / 08-03-2015 / 07:28:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
476 |
! ! |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
477 |
|
21
83395ca8b257
Renamed GDB to GDBDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
478 |
!GDBDebugger methodsFor:'event handling'! |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
479 |
|
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
480 |
onBreakpointCreatedEvent: aGDBBreakpointCreatedEvent |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
481 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
482 |
breakpoints isNil ifTrue:[ |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
483 |
breakpoints := List new. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
484 |
]. |
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
485 |
aGDBBreakpointCreatedEvent breakpoints do:[:breakpoint | |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
486 |
breakpoint setDebugger: self. |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
487 |
breakpoints add: breakpoint. |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
488 |
]. |
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
489 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
490 |
"Created: / 06-07-2017 / 16:08:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
491 |
"Modified: / 12-11-2017 / 20:17:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
492 |
! |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
493 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
494 |
onBreakpointDeletedEvent: aGDBBreakpointDeletedEvent |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
495 |
| breakpoint | |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
496 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
497 |
breakpoint := breakpoints detect:[:e | e number == aGDBBreakpointDeletedEvent id ]. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
498 |
breakpoint setDebugger: nil. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
499 |
breakpoints remove: breakpoint. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
500 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
501 |
"Created: / 06-07-2017 / 16:26:52 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
502 |
"Modified: / 07-07-2017 / 12:39:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
503 |
! |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
504 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
505 |
onBreakpointModifiedEvent: aGDBBreakpointModifiedEvent |
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
506 |
|
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
507 |
aGDBBreakpointModifiedEvent breakpoints do:[:new | |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
508 |
| old | |
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
509 |
|
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
93
diff
changeset
|
510 |
old := breakpoints detect:[:e | e number = new number ]. |
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
511 |
old updateFrom: new. |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
512 |
]. |
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
513 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
514 |
"Created: / 06-07-2017 / 16:28:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
88
diff
changeset
|
515 |
"Modified: / 12-11-2017 / 20:18:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
93
diff
changeset
|
516 |
"Modified: / 15-01-2018 / 23:11:52 / jv" |
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
517 |
! |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
518 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
519 |
onCommandEvent:aGDBCommandEvent |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
520 |
connection send:aGDBCommandEvent command. |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
521 |
|
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
522 |
"Created: / 02-06-2014 / 23:38:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
523 |
"Modified: / 20-06-2014 / 22:09:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
524 |
! |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
525 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
526 |
onExitEvent:aGDBExitEvent |
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
527 |
self release. |
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
528 |
|
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
529 |
"Created: / 03-06-2014 / 00:36:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9
5cc8797f6523
Make simple example with -gdb-exit command working
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
530 |
"Modified: / 04-06-2014 / 09:28:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
531 |
! |
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
532 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
533 |
onRunningEvent: aGDBRunningEvent |
38
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
534 |
| threads threadId | |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
535 |
|
72
eb4eea3ebf4c
Increate sequence number also when thread or thread group is stopped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
536 |
self nextInferiorStateSequnceNumber. |
38
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
537 |
threadId := aGDBRunningEvent threadId. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
538 |
threadId = 'all' ifFalse:[ |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
539 |
threadId := threadId asInteger. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
540 |
]. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
541 |
threads := Set new. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
542 |
inferiors do:[:inferior | |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
543 |
inferior threads do:[:thread | |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
544 |
(threadId isString or:[thread id = threadId]) ifTrue:[ |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
545 |
threads add: thread. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
546 |
]. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
547 |
]. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
548 |
]. |
86
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
549 |
aGDBRunningEvent setThreads: threads. |
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
550 |
threads do:[:thread | |
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
551 |
thread onRunningEvent: aGDBRunningEvent. |
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
552 |
]. |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
553 |
|
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
554 |
"Created: / 07-09-2014 / 23:34:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
86
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
555 |
"Modified: / 12-07-2017 / 13:48:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
556 |
! |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
557 |
|
38
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
558 |
onStoppedEvent: aGDBStoppedEvent |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
559 |
| threads threadIds | |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
560 |
|
72
eb4eea3ebf4c
Increate sequence number also when thread or thread group is stopped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
561 |
self nextInferiorStateSequnceNumber. |
38
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
562 |
threadIds := aGDBStoppedEvent stoppedThreadIds. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
563 |
threadIds = 'all' ifFalse:[ |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
564 |
threadIds := threadIds collect:[:e | e asInteger ]. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
565 |
]. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
566 |
threads := Set new. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
567 |
inferiors do:[:inferior | |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
568 |
inferior threads do:[:thread | |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
569 |
(threadIds isString or:[threadIds includes: thread id]) ifTrue:[ |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
570 |
threads add: thread. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
571 |
]. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
572 |
]. |
c9eaa506824b
More work on GDBThreadStatus
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
37
diff
changeset
|
573 |
]. |
86
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
574 |
aGDBStoppedEvent setThreads: threads. |
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
575 |
threads do:[:thread | |
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
576 |
thread onStoppedEvent: aGDBStoppedEvent. |
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
577 |
]. |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
578 |
|
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
579 |
"Created: / 07-09-2014 / 23:34:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
86
7f53d51a0a65
Cache thread status and update it on `=stopped` and `=running` events
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
85
diff
changeset
|
580 |
"Modified: / 12-07-2017 / 13:47:56 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
581 |
! |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
582 |
|
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
583 |
onThreadCreatedEvent:aGDBThreadCreatedEvent |
36
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
584 |
| inferior | |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
585 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
586 |
inferior := self inferiorForId:aGDBThreadCreatedEvent threadGroupId. |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
587 |
inferior onThreadCreatedEvent:aGDBThreadCreatedEvent. |
36
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
588 |
|
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
589 |
"Created: / 07-09-2014 / 21:20:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
590 |
! |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
591 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
592 |
onThreadExitedEvent:aGDBThreadExitedEvent |
36
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
593 |
| inferior | |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
594 |
|
72
eb4eea3ebf4c
Increate sequence number also when thread or thread group is stopped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
595 |
self nextInferiorStateSequnceNumber. |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
596 |
inferior := self inferiorForId:aGDBThreadExitedEvent threadGroupId. |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
597 |
inferior onThreadExitedEvent:aGDBThreadExitedEvent. |
36
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
598 |
|
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
599 |
"Created: / 07-09-2014 / 21:20:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
72
eb4eea3ebf4c
Increate sequence number also when thread or thread group is stopped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
600 |
"Modified: / 18-03-2015 / 13:57:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
36
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
601 |
! |
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
602 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
603 |
onThreadGroupAddedEvent:aGDBThreadGroupAddedEvent |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
604 |
| inferior | |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
605 |
|
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
606 |
inferiors isNil ifTrue:[ |
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
607 |
inferiors := List new. |
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
608 |
]. |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
609 |
inferior := GDBThreadGroup newWithDebugger:self |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
610 |
id:aGDBThreadGroupAddedEvent threadGroupId. |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
611 |
inferiors add:inferior. |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
612 |
aGDBThreadGroupAddedEvent setThreadGroup:inferior |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
613 |
|
36
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
614 |
"Modified: / 07-09-2014 / 21:18:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
615 |
! |
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
616 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
617 |
onThreadGroupExitedEvent:aGDBThreadGroupExitedEvent |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
618 |
| inferior | |
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
619 |
|
72
eb4eea3ebf4c
Increate sequence number also when thread or thread group is stopped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
620 |
self nextInferiorStateSequnceNumber. |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
621 |
inferior := self inferiorForId:aGDBThreadGroupExitedEvent threadGroupId. |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
622 |
inferior setExitCode:aGDBThreadGroupExitedEvent exitCode. |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
623 |
aGDBThreadGroupExitedEvent setThreadGroup:inferior |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
624 |
|
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
625 |
"Created: / 06-09-2014 / 02:37:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
72
eb4eea3ebf4c
Increate sequence number also when thread or thread group is stopped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
69
diff
changeset
|
626 |
"Modified: / 18-03-2015 / 13:57:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
627 |
! |
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
628 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
629 |
onThreadGroupStartedEvent:aGDBThreadGroupStartedEvent |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
630 |
| inferior | |
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
631 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
632 |
inferior := self inferiorForId:aGDBThreadGroupStartedEvent threadGroupId. |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
633 |
inferior setPid:aGDBThreadGroupStartedEvent pid. |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
634 |
aGDBThreadGroupStartedEvent setThreadGroup:inferior |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
635 |
|
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
636 |
"Created: / 06-09-2014 / 02:37:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
36
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
637 |
"Modified: / 07-09-2014 / 21:23:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
638 |
! ! |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
639 |
|
21
83395ca8b257
Renamed GDB to GDBDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
640 |
!GDBDebugger methodsFor:'finalization'! |
0 | 641 |
|
642 |
finalize |
|
643 |
self release. |
|
644 |
||
645 |
"Created: / 26-05-2014 / 21:23:28 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
646 |
! ! |
|
647 |
||
21
83395ca8b257
Renamed GDB to GDBDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
648 |
!GDBDebugger methodsFor:'initialize & release'! |
0 | 649 |
|
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
650 |
initializeWithProcess: aGDBProcess |
1 | 651 |
self registerForFinalization. |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
652 |
connection := GDBConnection newWithProcess: aGDBProcess. |
0 | 653 |
|
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
654 |
commandSequenceNumber := 0. |
19 | 655 |
inferiorStateSequenceNumber := 0. |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
656 |
|
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
657 |
self subscribe. |
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
658 |
|
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
659 |
connection eventPumpStart. |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
660 |
connection eventDispatchStart. |
25
58e042a191a9
More work on GDB session recorder.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
23
diff
changeset
|
661 |
Delay waitForMilliseconds:100. |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
662 |
|
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
93
diff
changeset
|
663 |
connection inferiorPTY notNil ifTrue:[ |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
93
diff
changeset
|
664 |
self send: (GDBMI_inferior_tty_set arguments: (Array with: connection inferiorPTY name)). |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
93
diff
changeset
|
665 |
]. |
48
330aa6df3dfb
Set target-async option to allow asynchronous communication with GDB.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
46
diff
changeset
|
666 |
self send: (GDBMI_gdb_set arguments: #('target-async' 'on')). |
11
474fbb650afe
PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
10
diff
changeset
|
667 |
|
82
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
668 |
prettyPrintingEnabled := false. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
669 |
frameFiltersEnabled := false. |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
670 |
|
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
671 |
"Created: / 20-06-2014 / 21:45:21 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
90
6046abc9ddf4
Replaced Squek computed arrays by more verbose `Array with:...`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
672 |
"Modified: / 17-11-2017 / 20:14:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
93
diff
changeset
|
673 |
"Modified: / 12-01-2018 / 00:13:09 / jv" |
0 | 674 |
! |
675 |
||
676 |
release |
|
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
677 |
connection notNil ifTrue:[ |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
678 |
self unsubscribe. |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
679 |
connection release. |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
680 |
connection := nil. |
0 | 681 |
]. |
682 |
||
683 |
"Created: / 26-05-2014 / 21:24:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
684 |
"Modified: / 20-06-2014 / 22:08:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
685 |
! |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
686 |
|
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
687 |
subscribe |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
688 |
connection eventAnnouncerInternal |
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
689 |
when: GDBCommandEvent send: #onCommandEvent: to: self; |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
690 |
when: GDBExitEvent send: #onExitEvent: to: self; |
35
c17ecf90e446
Initial support for thread groups, threads and breakpoints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
25
diff
changeset
|
691 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
692 |
when: GDBThreadGroupAddedEvent send: #onThreadGroupAddedEvent: to: self; |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
693 |
when: GDBThreadGroupStartedEvent send: #onThreadGroupStartedEvent: to: self; |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
694 |
when: GDBThreadGroupExitedEvent send: #onThreadGroupExitedEvent: to: self; |
36
095c4b0b74d3
Added support for threads.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
695 |
|
37
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
696 |
when: GDBThreadCreatedEvent send: #onThreadCreatedEvent: to: self; |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
697 |
when: GDBThreadExitedEvent send: #onThreadExitedEvent: to: self; |
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
698 |
|
a85f0c91f164
Some more work on threads (thread status)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
36
diff
changeset
|
699 |
when: GDBRunningEvent send: #onRunningEvent: to: self; |
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
700 |
when: GDBStoppedEvent send: #onStoppedEvent: to: self; |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
701 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
702 |
when: GDBBreakpointCreatedEvent send: #onBreakpointCreatedEvent: to: self; |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
703 |
when: GDBBreakpointModifiedEvent send: #onBreakpointModifiedEvent: to: self; |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
704 |
when: GDBBreakpointDeletedEvent send: #onBreakpointDeletedEvent: to: self. |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
705 |
|
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
706 |
"Created: / 20-06-2014 / 22:07:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
86
diff
changeset
|
707 |
"Modified: / 06-07-2017 / 16:08:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
23
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
708 |
! |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
709 |
|
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
710 |
unsubscribe |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
711 |
connection eventAnnouncerInternal unsubscribe: self |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
712 |
|
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
713 |
"Created: / 20-06-2014 / 22:07:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
714 |
! ! |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
715 |
|
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
716 |
!GDBDebugger methodsFor:'testing'! |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
717 |
|
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
718 |
isConnected |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
719 |
^ connection notNil |
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
720 |
|
a7eb888c81b5
Introduced GDBProcess - a class encapsulating gdb OS process.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
21
diff
changeset
|
721 |
"Created: / 20-06-2014 / 22:12:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
82
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
722 |
! |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
723 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
724 |
isFrameFiltersEnabled |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
725 |
^ frameFiltersEnabled |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
726 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
727 |
"Created: / 12-06-2017 / 09:41:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
728 |
! |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
729 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
730 |
isPrettyPrintingEnabled |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
731 |
^ prettyPrintingEnabled |
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
732 |
|
7ee72b7a498f
Added #enablePrettyPrinting and #enableFrameFilters to allow Python scripts to augment presentation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
80
diff
changeset
|
733 |
"Created: / 12-06-2017 / 09:40:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
0 | 734 |
! ! |
735 |
||
21
83395ca8b257
Renamed GDB to GDBDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
19
diff
changeset
|
736 |
!GDBDebugger class methodsFor:'documentation'! |
7
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
737 |
|
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
738 |
version_HG |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
739 |
|
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
740 |
^ '$Changeset: <not expanded> $' |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
741 |
! ! |
7a51f98e7162
Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
742 |