GDBMIDebugger.st
author Jan Vrany <jan.vrany@labware.com>
Mon, 14 Aug 2023 16:36:47 +0100
changeset 272 cdd1c9ad00de
parent 259 651864c2aa29
child 317 7f63737e0374
permissions -rw-r--r--
Change class categories to facilitate Pharo port This commit changes class categories so all classes in `jv:libgdbs/tests' are in categories beggining with `GDB-Tests`. This is needed for Pharo as in Pharo (Squeak) world package membership is defined by class category string.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
jv:libgdbs - GNU Debugger Interface Library
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
209
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
     4
Copyright (C) 2020 LabWare
272
cdd1c9ad00de Change class categories to facilitate Pharo port
Jan Vrany <jan.vrany@labware.com>
parents: 259
diff changeset
     5
Copyright (C) 2022-2023 LabWare
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
     7
Permission is hereby granted, free of charge, to any person obtaining a copy
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
     8
of this software and associated documentation files (the 'Software'), to deal
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
     9
in the Software without restriction, including without limitation the rights
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    10
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    11
copies of the Software, and to permit persons to whom the Software is
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    12
furnished to do so, subject to the following conditions:
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    14
The above copyright notice and this permission notice shall be included in all
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    15
copies or substantial portions of the Software.
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    17
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    18
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    19
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    20
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    21
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    22
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    23
SOFTWARE.
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
"{ Package: 'jv:libgdbs' }"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
"{ NameSpace: Smalltalk }"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
ApplicationModel subclass:#GDBMIDebugger
209
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
    30
	instanceVariableNames:'command process cliView miView'
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	classVariableNames:''
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
	poolDictionaries:''
272
cdd1c9ad00de Change class categories to facilitate Pharo port
Jan Vrany <jan.vrany@labware.com>
parents: 259
diff changeset
    33
	category:'GDB-Internal-MI Trace'
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
!GDBMIDebugger class methodsFor:'documentation'!
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
copyright
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
jv:libgdbs - GNU Debugger Interface Library
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
Copyright (C) 2015-now Jan Vrany
209
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
    42
Copyright (C) 2020 LabWare
272
cdd1c9ad00de Change class categories to facilitate Pharo port
Jan Vrany <jan.vrany@labware.com>
parents: 259
diff changeset
    43
Copyright (C) 2022-2023 LabWare
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    45
Permission is hereby granted, free of charge, to any person obtaining a copy
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    46
of this software and associated documentation files (the 'Software'), to deal
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    47
in the Software without restriction, including without limitation the rights
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    48
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    49
copies of the Software, and to permit persons to whom the Software is
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    50
furnished to do so, subject to the following conditions:
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    52
The above copyright notice and this permission notice shall be included in all
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    53
copies or substantial portions of the Software.
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    55
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    56
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    57
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    58
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    59
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    60
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 258
diff changeset
    61
SOFTWARE.
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
! !
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
!GDBMIDebugger class methodsFor:'interface specs'!
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
windowSpec
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    "This resource specification was automatically generated
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
     by the UIPainter of ST/X."
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    "Do not manually edit this!! If it is corrupted,
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
     the UIPainter may not be able to read the specification."
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    "
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
     UIPainter new openOnClass:GDBMIDebugger andSelector:#windowSpec
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
     GDBMIDebugger new openInterface:#windowSpec
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
     GDBMIDebugger open
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    "
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    <resource: #canvas>
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    ^ 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    #(FullSpec
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
       name: windowSpec
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
       window: 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
      (WindowSpec
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
         label: 'GDB/MI Debugger / Viewer'
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
         name: 'GDB/MI Debugger / Viewer'
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
         uuid: '75dbc6f1-9274-11e9-b1d9-606720e43e2c'
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
         min: (Point 10 10)
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
         bounds: (Rectangle 0 0 852 533)
258
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
    92
         menu: mainMenu
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
    93
      ) component: 
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
      (SpecCollection
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
         collection: (
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
          (VariableVerticalPanelSpec
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
             name: 'VariableVerticalPanel1'
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
             component: 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
            (SpecCollection
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
               collection: (
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
                (ArbitraryComponentSpec
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
                   name: 'CLI'
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
                   hasBorder: false
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
                   component: cliView
258
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   106
                )
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
                (ArbitraryComponentSpec
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
                   name: 'MI'
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
                   hasBorder: false
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
                   component: miView
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
                )
258
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   112
              )
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   113
            ) handles: 
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   114
            (Any
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   115
               0.5 1.0
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   116
            )
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   117
          )
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   118
        )
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   119
      )
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   120
    )
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   121
! !
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   122
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   123
!GDBMIDebugger class methodsFor:'menu specs'!
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   124
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   125
mainMenu
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   126
    "This resource specification was automatically generated
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   127
     by the MenuEditor of ST/X."
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   128
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   129
    "Do not manually edit this!! If it is corrupted,
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   130
     the MenuEditor may not be able to read the specification."
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   131
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   132
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   133
    "
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   134
     MenuEditor new openOnClass:GDBMIDebugger andSelector:#mainMenu
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   135
     (Menu new fromLiteralArrayEncoding:(GDBMIDebugger mainMenu)) startUp
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   136
    "
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   137
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   138
    <resource: #menu>
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   139
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   140
    ^ 
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   141
     #(Menu (
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   142
         (MenuItem
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   143
            label: 'Debug'
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   144
            startGroup: right
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   145
            isVisible: true
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   146
            submenu: 
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   147
           (Menu (
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   148
               (MenuItem
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   149
                  label: 'Open & Attach to GDB Process'
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   150
                  itemValue: doDebugOpenAndAttachToGDB
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   151
                  isVisible: true
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   152
               )
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   153
             ) nil
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   154
              nil
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
           )
258
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   156
         )
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   157
       ) nil
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   158
        nil
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
     )
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
! !
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
209
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   162
!GDBMIDebugger class methodsFor:'utilities'!
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   163
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   164
debug: command
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   165
    "
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   166
    Open GDB/MI Debugger on given GDB executable
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   167
    "
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   168
    self new
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   169
        command: command;
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   170
        open
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   171
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   172
    "Created: / 23-06-2020 / 14:12:22 / Jan Vrany <jan.vrany@labware.com>"
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   173
! !
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   174
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   175
!GDBMIDebugger methodsFor:'accessing'!
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   176
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   177
command
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   178
    ^ command
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   179
!
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   180
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   181
command:aString
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   182
    self assert: aString asFilename exists.
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   183
    command := aString.
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   184
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   185
    "Modified: / 23-06-2020 / 14:13:42 / Jan Vrany <jan.vrany@labware.com>"
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   186
! !
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   187
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
!GDBMIDebugger methodsFor:'aspects'!
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
cliView
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
    cliView isNil ifTrue:[ 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
        cliView := VT100TerminalView new.
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
        self initializeTerminalView: cliView.  
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
    ].
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
    ^ cliView
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
    "Created: / 19-06-2019 / 10:33:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
!
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
miView
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
    miView isNil ifTrue:[ 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
        miView := VT100TerminalView new.
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
        self initializeTerminalView: miView.  
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
    ].
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
    ^ miView
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
    "Created: / 19-06-2019 / 10:34:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
! !
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
!GDBMIDebugger methodsFor:'hooks'!
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
commonPostOpen
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
    super commonPostOpen.
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
209
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   215
    process := GDBLocalProcess newWithCommand: command.  
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
    (process isKindOf: GDBStXUnixProcess) ifTrue:[ 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
        (process instVarNamed: #debuggerPTY) 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
            setLocalEcho: true;
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
            setOutputCRLF: true.
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
    ].
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
    miView inStream: process debuggerInput.
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
    miView outStream: process debuggerOutput. 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
    miView startReaderProcessWhenVisible.
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
    process consoleInput notNil ifTrue:[ 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
        cliView inStream: process consoleInput.
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
        cliView outStream: process consoleOutput. 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
        cliView startReaderProcessWhenVisible.    
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
    ] ifFalse:[ 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
        cliView hide.
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
    ].
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
    "Created: / 19-06-2019 / 10:40:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
209
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   235
    "Modified: / 23-06-2020 / 14:13:54 / Jan Vrany <jan.vrany@labware.com>"
194
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
! !
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
!GDBMIDebugger methodsFor:'initialization & release'!
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
initializeTerminalView: aTerminalView
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
    aTerminalView cursorType: #block;  
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
                foregroundColor: Color white
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
                backgroundColor: Color black;
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
                cursorForegroundColor: Color white
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
                      backgroundColor: Color white.      
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
    (Smalltalk at: #VDBAbstractApplication) notNil ifTrue:[ 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
        aTerminalView font: (Smalltalk at: #VDBAbstractApplication) defaultTextFont
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
    ].
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
    "Created: / 19-06-2019 / 10:33:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
!
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
release
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    process notNil ifTrue:[ 
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
        process release.
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
    ].
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
    "Created: / 19-06-2019 / 10:47:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
! !
312d96017653 Add `GDBMIDebugger` tool to test raw MI / CLI.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
258
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   261
!GDBMIDebugger methodsFor:'menu actions'!
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   262
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   263
doDebugOpenAndAttachToGDB
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   264
    | debuggerOnGDB |
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   265
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   266
    (Smalltalk includesKey: #VDBDebuggerApplication) ifFalse: [ 
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   267
         Smalltalk loadPackage: #'jv:vdb'.
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   268
    ].
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   269
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   270
    debuggerOnGDB := GDBDebugger new.
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   271
    (Smalltalk at: #VDBDebuggerApplication) openFor: debuggerOnGDB.
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   272
    debuggerOnGDB attach: process id.
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   273
! !
612aff5ff058 `GDBMIDebugger`: add option to attach a debugger to debugged GDB
Jan Vrany <jan.vrany@labware.com>
parents: 209
diff changeset
   274
209
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   275
!GDBMIDebugger class methodsFor:'documentation'!
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   276
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   277
version_HG
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   278
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   279
    ^ '$Changeset: <not expanded> $'
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   280
! !
4eb2433b3c0a Allow GDB/MI debugging of custom GDB binary using `GDBMIDebugger`
Jan Vrany <jan.vrany@labware.com>
parents: 194
diff changeset
   281