jv_vdb.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 08 Jul 2019 13:31:11 +0100
changeset 178 5d1c3e5fab6b
parent 177 fd154978bab5
child 188 7080f4698aec
permissions -rw-r--r--
Initial support for VDB python-based variable objects Due to a limitation of GDB itself, one cannot create variable object for "synthetic" argument/local created by custom frame decorator. Therefore one cannot "dig deeper" and inspect contents of such a variable in case it is a kind of composite - like an object on a heap referring to another objects. This is a problem when a debugee is does not have debug information and / or it's language is not C - such as when debugging JITed code. This (experimental) commit adds a parallel implementation of variable objects done completely in python. This new varobj MI interface is a super-set of GDB's builtin varobj MI interface.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
     1
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
     2
jv:vdb - Visual / VM Debugger
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
     4
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
     5
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
     6
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
     7
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
     8
"
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb' }"
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
    11
"{ NameSpace: Smalltalk }"
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
    12
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
LibraryDefinition subclass:#jv_vdb
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
	instanceVariableNames:''
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	classVariableNames:''
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	poolDictionaries:''
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	category:'* Projects & Packages *'
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    20
!jv_vdb class methodsFor:'documentation'!
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    21
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    22
copyright
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    23
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    24
jv:vdb - Visual / VM Debugger
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    25
Copyright (C) 2015-now Jan Vrany
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    26
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    27
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    28
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    29
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    30
"
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
    31
! !
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!jv_vdb class methodsFor:'description'!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
excludedFromPreRequisites
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    "list packages which are to be explicitely excluded from the automatic constructed
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
     prerequisites list. If empty, everything that is found along the inheritance of any of
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
     my classes is considered to be a prerequisite package."
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
    ^ #(
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    )
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
mandatoryPreRequisites
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    "list packages which are mandatory as a prerequisite.
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
     This are packages containing superclasses of my classes and classes which
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
     are extended by myself.
11
43439b9e9096 Moved VDBInternalPipeStream from jv:vdb and jv:libgdbs and renamed to GDBInternalPipeStream
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    48
     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
     This method is generated automatically,
40
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    50
     by searching along the inheritance chain of all of my classes.
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    51
     Please take a look at the #referencedPreRequisites method as well."
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    ^ #(
178
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
    54
        #'jv:libgdbs'    "GDBCommand - superclass of VDBMI_vdb_var_create"
83
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    55
        #'stx:goodies/announcements'    "Announcement - superclass of RREvent"
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 171
diff changeset
    56
        #'stx:libbasic'    "LibraryDefinition - superclass of jv_vdb"
73
82e202dec6cb UX: added preferences to automatically enable frame filters and pretty printers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 71
diff changeset
    57
        #'stx:libtool'    "AbstractSettingsApplication - superclass of VDBSettingsApplication"
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    58
        #'stx:libview'    "DisplaySurface - superclass of VDBSimpleConsoleView"
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    59
        #'stx:libview2'    "ApplicationModel - superclass of VDBAbstractApplication"
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
    60
        #'stx:libwidg'    "EditTextView - superclass of VDBSimpleConsoleView"
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 59
diff changeset
    61
        #'stx:libwidg2'    "AbstractHierarchicalItem - superclass of VDBAbstractPresenter"
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    )
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
referencedPreRequisites
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    "list packages which are a prerequisite, because they contain
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
     classes which are referenced by my classes.
40
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    68
     These packages are NOT needed as a prerequisite for compiling or loading,
37
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
    69
     however, a class from it may be referenced during execution and having it
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
    70
     unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
f417fe8685c5 Initial support for variables
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
    71
     includes explicit checks for the package being present.
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
     This method is generated automatically,
40
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    73
     by searching all classes (and their packages) which are referenced by my classes.
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
    74
     Please also take a look at the #mandatoryPreRequisites method"
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    ^ #(
48
0076f0700e5e Added VDBVirtualMemoryMap, a model for memory maps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
    77
        #'stx:goodies/xml/vw'    "XML::XMLParser - referenced by VDBVirtualMemoryMap>>initializeFromSysInternalsVmmapDump:"
13
d06924d8ca0a Minor fixes in UI - allow to open stack window as floating tool window.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    78
        #'stx:libbasic2'    "List - referenced by VDBAbstractContainer>>initialize"
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 171
diff changeset
    79
        #'stx:libcomp'    "SyntaxHighlighter - referenced by VDBScatchPadApplication>>loadFile:encoding:into:"
22
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
    80
        #'stx:libtool2'    "MenuEditor - referenced by VDBIconLibrary class>>initialize"
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    )
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
subProjects
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    "list packages which are known as subprojects. 
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
     The generated makefile will enter those and make there as well.
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
     However: they are not forced to be loaded when a package is loaded; 
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
     for those, redefine requiredPrerequisites."
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    ^ #(
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
    )
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
! !
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
177
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
    94
!jv_vdb class methodsFor:'description - compilation'!
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
    95
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
    96
additionalRules_bc_dot_mak
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
    97
    ^ '
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
    98
$(INSTALLLIB_DIR)\python:
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
    99
        md $@
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   100
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   101
$(INSTALLLIB_DIR)\python\vdb.py: python\vdb.py $(INSTALLLIB_DIR)\python
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   102
        copy python\vdb.py $@
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   103
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   104
install:: $(INSTALLLIB_DIR)\python\vdb.py
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   105
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   106
'
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   107
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   108
    "Created: / 11-07-2019 / 22:27:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   109
    "Modified (comment): / 12-07-2019 / 10:26:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   110
!
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   111
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   112
additionalRules_make_dot_proto
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   113
    ^ '
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   114
$(INSTALLLIB_DIR)/python:
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   115
        mkdir -p $@
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   116
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   117
$(INSTALLLIB_DIR)/python/vdb.py: python/vdb.py $(INSTALLLIB_DIR)/python
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   118
        $(INSTALL) $< $@
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   119
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   120
install:: $(INSTALLLIB_DIR)/python/vdb.py
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   121
'
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   122
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   123
    "Created: / 11-07-2019 / 22:30:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   124
    "Modified: / 12-07-2019 / 08:13:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   125
! !
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   126
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
!jv_vdb class methodsFor:'description - contents'!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
classNamesAndAttributes
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    "lists the classes which are to be included in the project.
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
     Each entry in the list may be: a single class-name (symbol),
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
     or an array-literal consisting of class name and attributes.
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
    ^ #(
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
        "<className> or (<className> attributes...) in load order"
83
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   137
        RR
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   138
        RREvent
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
        VDBAbstractApplication
60
bcdb393c956f Cleanup of (former) `VDBModelPresenter`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 59
diff changeset
   140
        VDBAbstractPresenter
68
6caeb5d7c92b Added support for inspecting expression result in source view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   141
        VDBEvaluator
22
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
   142
        VDBIconLibrary
80
7a9cf1d6be50 UX: improvements in disasembly view (`VDBInstructionListApplication`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
   143
        VDBInstructionBasicBlock
178
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   144
        #'VDBMI_vdb_var_create'
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   145
        #'VDBMI_vdb_var_delete'
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   146
        #'VDBMI_vdb_var_evaluate_expression'
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   147
        #'VDBMI_vdb_var_info_path_expression'
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   148
        #'VDBMI_vdb_var_list_children'
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   149
        #'VDBMI_vdb_var_set_visualizer'
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   150
        #'VDBMI_vdb_var_update'
175
a304c250e889 UI: add "Scratch Pad" tool
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 171
diff changeset
   151
        VDBScatchPadApplication
73
82e202dec6cb UX: added preferences to automatically enable frame filters and pretty printers
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 71
diff changeset
   152
        VDBSettingsApplication
143
df7f89efd39d A complete rewrite of simple console
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 139
diff changeset
   153
        VDBSimpleConsoleView
110
7150377a44e1 UI: add register view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   154
        VDBStartup
169
807f5f62c910 Add `VDBTerminalView` used on with PTYs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   155
        VDBTerminalView
178
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   156
        VDBVariableObject
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   157
        VDBVariableObjectExecutor
48
0076f0700e5e Added VDBVirtualMemoryMap, a model for memory maps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
   158
        VDBVirtualMemoryMap
0076f0700e5e Added VDBVirtualMemoryMap, a model for memory maps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 46
diff changeset
   159
        VDBVirtualMemoryRegion
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
        #'jv_vdb'
83
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   161
        RRExitEvent
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   162
        RRStartEvent
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 127
diff changeset
   163
        VDBAbstractConsoleApplication
1
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   164
        VDBAbstractContainer
151
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   165
        VDBAbstractContentsApplication
46
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
   166
        VDBBreakpointApplication
6b857f3cec8c Initial support for breakpoints
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 40
diff changeset
   167
        VDBBreakpointPresenter
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
        VDBDebuggerApplication
1
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   169
        VDBEventLogApplication
22
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
   170
        VDBFramePresenter
77
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 73
diff changeset
   171
        VDBInstructionPresenter
163d914fae79 Add initial support for disassembly view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 73
diff changeset
   172
        VDBInstructionsAndSourcePresenter
178
5d1c3e5fab6b Initial support for VDB python-based variable objects
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   173
        #'VDBMI_vdb_var_duplicate'
56
6c7ed8cc00ea UI: added "memory view" to display memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 52
diff changeset
   174
        VDBMemoryApplication
110
7150377a44e1 UI: add register view
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 107
diff changeset
   175
        VDBRegisterPresenter
16
fc1898815ab6 Temporary commit: some more work on displaying source code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   176
        VDBSourceApplication
152
a069cf7fcab5 UI: add status bar to debugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 151
diff changeset
   177
        VDBStatusApplication
22
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
   178
        VDBThreadGroupPresenter
6684f4d82301 Temporary commit: reworking VDBStackApplication to support multiple threads and inferiors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
   179
        VDBThreadPresenter
57
8cd259e11b9e Variable objects: added support for composite types
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 56
diff changeset
   180
        VDBVariableObjectPresenter
151
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   181
        VDBAbstractListApplication
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 127
diff changeset
   182
        VDBAbstractUnixConsoleApplication
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 127
diff changeset
   183
        VDBSimpleDebuggerConsoleApplication
1
09b3ef5606e7 Added simple event log application. Initial stub for application containers (docking panels)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   184
        VDBTabbingContainer
151
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   185
        VDBAbstractTreeApplication
113
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   186
        VDBFrameApplication
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   187
        VDBSourceAndDisassemblyApplication
139
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 127
diff changeset
   188
        VDBUnixDebuggerConsoleApplication
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 127
diff changeset
   189
        VDBUnixInferiorConsoleApplication
c619cc458fb1 Factored out common console code into (new) `VDBAbstractConsoleApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 127
diff changeset
   190
        VDBUnixReplayServerConsoleApplication
169
807f5f62c910 Add `VDBTerminalView` used on with PTYs
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 152
diff changeset
   191
        VDBBreakpointListApplication
151
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   192
        VDBInstructionListApplication
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   193
        VDBRegisterListApplication
bc7626f46210 Performance: do not update contents of windows when not needed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 143
diff changeset
   194
        VDBStackApplication
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   195
        VDBVariableObjectListApplication
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
    )
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
extensionMethodNames
40
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   200
    "lists the extension methods which are to be included in the project.
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   201
     Entries are 2-element array literals, consisting of class-name and selector.
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   202
     A correponding method with real names must be present in my concrete subclasses
d766d4c854a2 Cleanup in debugger and inferior console applications to catch up changes in `jv:libgdbs`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 37
diff changeset
   203
     if it has extensions."
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
    ^ #(
59
e7d0453109a1 Variable objects: splitted `VDBFrameApplication`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 57
diff changeset
   206
        GDBVariableObject inspector2TabVariable
83
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   207
        GDBDebugger targetConnectRR:
101ff2210613 Initial support for Mozilla rr
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   208
        GDBDebugger onRRExitEvent:
177
fd154978bab5 Load Python support code upon startup.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 175
diff changeset
   209
        GDBDebugger pythonImportVDB
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
    )
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
! !
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
!jv_vdb class methodsFor:'description - project information'!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
companyName
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
    "Returns a company string which will appear in <lib>.rc.
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
     Under win32, this is placed into the dlls file-info"
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   219
    ^ 'Jan Vrany'
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   220
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   221
    "Modified: / 23-11-2017 / 22:33:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
description
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
    "Returns a description string which will appear in nt.def / bc.def"
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   227
    ^ 'Visual / VM Debugger Library'
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   228
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   229
    "Modified: / 23-11-2017 / 22:34:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
legalCopyright
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
    "Returns a copyright string which will appear in <lib>.rc.
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
     Under win32, this is placed into the dlls file-info"
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   236
    ^ 'Copyright (C) Jan Vrany 2015-now'
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   237
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   238
    "Modified (format): / 23-11-2017 / 22:36:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
productName
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
    "Returns a product name which will appear in <lib>.rc.
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
     Under win32, this is placed into the dlls file-info.
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
     This method is usually redefined in a concrete application definition"
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
49
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   246
    ^ self description
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   247
2ec7f7ed9242 License this package under 'Creative Commons Attribution-NonCommercial 4.0 International License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 48
diff changeset
   248
    "Modified: / 23-11-2017 / 22:36:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
! !
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
!jv_vdb class methodsFor:'documentation'!
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
version_HG
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    ^ '$Changeset: <not expanded> $'
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
! !
33a652015a1a Initial commit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256