author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Tue, 24 Sep 2019 00:43:53 +0100 | |
changeset 186 | 8110a5e2c704 |
parent 177 | fd154978bab5 |
child 197 | a4f790013a99 |
permissions | -rw-r--r-- |
59
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'jv:vdb' }"! |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
83
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
3 |
!GDBDebugger methodsFor:'event handling'! |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
4 |
|
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
5 |
onRRExitEvent:anRRExitEvent |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
6 |
| status | |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
7 |
|
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
8 |
anRRExitEvent rr announcer unsubscribe: self. |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
9 |
status := anRRExitEvent status. |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
10 |
(status success or:[ status status == #signal and:[status code == OperatingSystem sigTERM ]]) ifFalse:[ |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
11 |
Dialog warn: (self class classResources string: 'Replay server terminated with error') |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
12 |
]. |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
13 |
|
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
14 |
"Created: / 31-07-2018 / 09:37:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
15 |
! ! |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
16 |
|
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
17 |
!GDBDebugger methodsFor:'commands - API'! |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
18 |
|
177
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
19 |
pythonImportVDB |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
20 |
"Import VDB support" |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
21 |
|
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
22 |
| pythonDir | |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
23 |
|
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
24 |
pythonDir := (Smalltalk getPackageDirectoryForPackage: #jv:vdb) / 'python'. |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
25 |
self assert: pythonDir isDirectory. |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
26 |
|
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
27 |
self pythonSysPathAppend: pythonDir. |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
28 |
self pythonImport: 'vdb' |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
29 |
|
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
30 |
"Created: / 08-07-2019 / 11:44:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
31 |
! ! |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
32 |
|
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
33 |
!GDBDebugger methodsFor:'commands - API'! |
fd154978bab5
Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
171
diff
changeset
|
34 |
|
83
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
35 |
targetConnectRR: rr |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
36 |
"Connect to rr replay server" |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
37 |
|
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
38 |
"/ rr suggest to connect as follows: |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
39 |
"/ |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
40 |
"/ gdb '-l' '10000' '-ex' 'set sysroot /' '-ex' 'target extended-remote 127.0.0.1:9876' ... |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
41 |
"/ |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
42 |
self send: (GDBMI_gdb_set arguments: #('sysroot' '/')). |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
43 |
self targetConnect: 'extended-remote' parameters: (Array with: '127.0.0.1:' with: rr port). |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
44 |
rr announcer when: RRExitEvent send: #onRRExitEvent: to: self. |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
45 |
|
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
46 |
"Created: / 26-07-2018 / 21:48:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
47 |
"Modified: / 31-07-2018 / 09:38:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
48 |
! ! |
101ff2210613
Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
73
diff
changeset
|
49 |
|
59
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
!GDBVariableObject methodsFor:'inspecting'! |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
|
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
inspector2TabVariable |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
<inspector2Tab> |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
|
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
| varObjApp | |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
|
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
varObjApp := Smalltalk at: #VDBVariableObjectListApplication ifAbsent:[ ^ nil ]. |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
^ (self newInspector2Tab) |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
label:'Variable'; |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
priority:95; |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
"/ view: [ ... ]; |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
application: [ varObjApp new debugger: debugger; variableObjectList: (Array with: self); yourself ]; |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
"/ text: [ ... ]; |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
yourself |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
|
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
"Modified: / 03-02-2018 / 09:58:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
! ! |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
|
186
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
69 |
!GDBVariableObject methodsFor:'accessing-private'! |
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
70 |
|
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
71 |
varobj |
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
72 |
"Return self. This is here to make it polymorph with `GDBVariable` |
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
73 |
(since `VDBVariableObjectListApplication` handles both, variables |
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
74 |
and varobjs." |
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
75 |
|
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
76 |
^ self |
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
77 |
|
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
78 |
"Created: / 21-09-2019 / 01:28:37 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
79 |
"Modified (comment): / 24-09-2019 / 00:40:28 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
80 |
! ! |
8110a5e2c704
Always inspect varobj when double-clicking on a variable
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
177
diff
changeset
|
81 |
|
59
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
!jv_vdb class methodsFor:'documentation'! |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
|
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
extensionsVersion_HG |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
|
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
^ '$Changeset: <not expanded> $' |
e7d0453109a1
Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
! ! |