GDBMI_data_disassemble.st
author Jan Vrany <jan.vrany@labware.com>
Mon, 30 May 2022 13:58:25 +0100
changeset 259 651864c2aa29
parent 126 fb73b0af430b
child 272 cdd1c9ad00de
permissions -rw-r--r--
Relicense under MIT license.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
     1
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
     2
jv:libgdbs - GNU Debugger Interface Library
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
     4
Copyright (C) 2022 LabWare
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
     5
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
     6
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: 126
diff changeset
     7
of this software and associated documentation files (the 'Software'), to deal
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
     8
in the Software without restriction, including without limitation the rights
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
     9
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    10
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: 126
diff changeset
    11
furnished to do so, subject to the following conditions:
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    12
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    13
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: 126
diff changeset
    14
copies or substantial portions of the Software.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    15
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    16
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: 126
diff changeset
    17
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    18
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    19
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    20
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    21
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: 126
diff changeset
    22
SOFTWARE.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    23
"
12
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"{ Package: 'jv:libgdbs' }"
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
78
c24e7d8bc881 BUpdated build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    26
"{ NameSpace: Smalltalk }"
c24e7d8bc881 BUpdated build files.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    27
12
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
GDBMICommand subclass:#GDBMI_data_disassemble
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
	instanceVariableNames:''
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
	classVariableNames:''
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
	poolDictionaries:''
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
	category:'GDB-Core-Commands-MI'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
!GDBMI_data_disassemble class methodsFor:'documentation'!
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    37
copyright
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    38
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    39
jv:libgdbs - GNU Debugger Interface Library
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    40
Copyright (C) 2015-now Jan Vrany
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    41
Copyright (C) 2022 LabWare
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    42
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    43
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: 126
diff changeset
    44
of this software and associated documentation files (the 'Software'), to deal
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    45
in the Software without restriction, including without limitation the rights
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    46
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    47
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: 126
diff changeset
    48
furnished to do so, subject to the following conditions:
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    49
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    50
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: 126
diff changeset
    51
copies or substantial portions of the Software.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    52
259
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    53
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: 126
diff changeset
    54
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    55
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    56
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    57
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
651864c2aa29 Relicense under MIT license.
Jan Vrany <jan.vrany@labware.com>
parents: 126
diff changeset
    58
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: 126
diff changeset
    59
SOFTWARE.
91
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    60
"
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    61
!
472a4841a8b6 License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 78
diff changeset
    62
12
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
documentation
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
"
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
The `-data-disassemble' Command
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
-------------------------------
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
Synopsis
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
........
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
      -data-disassemble
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
         [ -s START-ADDR -e END-ADDR ]
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
       | [ -f FILENAME -l LINENUM [ -n LINES ] ]
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
       -- MODE
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
Where:
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
`START-ADDR'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
     is the beginning address (or `$pc')
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
`END-ADDR'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
     is the end address
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
`FILENAME'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
     is the name of the file to disassemble
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
`LINENUM'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
     is the line number to disassemble around
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
`LINES'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
     is the number of disassembly lines to be produced.  If it is -1,
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
     the whole function will be disassembled, in case no END-ADDR is
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
     specified.  If END-ADDR is specified as a non-zero value, and
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
     LINES is lower than the number of disassembly lines between
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
     START-ADDR and END-ADDR, only LINES lines are displayed; if LINES
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
     is higher than the number of lines between START-ADDR and
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
     END-ADDR, only the lines up to END-ADDR are displayed.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
`MODE'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
     is either 0 (meaning only disassembly), 1 (meaning mixed source and
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
     disassembly), 2 (meaning disassembly with raw opcodes), or 3
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
     (meaning mixed source and disassembly with raw opcodes).
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
Result
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
......
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
The result of the `-data-disassemble' command will be a list named
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
`asm_insns', the contents of this list depend on the MODE used with the
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
`-data-disassemble' command.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
   For modes 0 and 2 the `asm_insns' list contains tuples with the
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
following fields:
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
`address'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
     The address at which this instruction was disassembled.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
`func-name'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
     The name of the function this instruction is within.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
`offset'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
     The decimal offset in bytes from the start of `func-name'.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
`inst'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
     The text disassembly for this `address'.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
`opcodes'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
     This field is only present for mode 2.  This contains the raw
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
     opcode bytes for the `inst' field.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
   For modes 1 and 3 the `asm_insns' list contains tuples named
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
`src_and_asm_line', each of which has the following fields:
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
`line'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
     The line number within `file'.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
`file'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
     The file name from the compilation unit.  This might be an absolute
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
     file name or a relative file name depending on the compile command
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
     used.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
`fullname'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
     Absolute file name of `file'.  It is converted to a canonical form
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
     using the source file search path (*note Specifying Source
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
     Directories: Source Path.)  and after resolving all the symbolic
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
     links.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
     If the source file is not found this field will contain the path as
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
     present in the debug information.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
`line_asm_insn'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
     This is a list of tuples containing the disassembly for `line' in
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
     `file'.  The fields of each tuple are the same as for
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
     `-data-disassemble' in MODE 0 and 2, so `address', `func-name',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
     `offset', `inst', and optionally `opcodes'.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
   Note that whatever included in the `inst' field, is not manipulated
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
directly by GDB/MI, i.e., it is not possible to adjust its format.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
{No value for `GDBN'} Command
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
.............................
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
The corresponding {No value for `GDBN'} command is `disassemble'.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
Example
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
.......
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
Disassemble from the current value of `$pc' to `$pc + 20':
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
     (gdb)
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
     -data-disassemble -s $pc -e '$pc + 20' -- 0
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
     ^done,
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
     asm_insns=[
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
     {address='0x000107c0',func-name='main',offset='4',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
     inst='mov  2, %o0'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
     {address='0x000107c4',func-name='main',offset='8',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
     inst='sethi  %hi(0x11800), %o2'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
     {address='0x000107c8',func-name='main',offset='12',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
     inst='or  %o2, 0x140, %o1\t!! 0x11940 <_lib_version+8>'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
     {address='0x000107cc',func-name='main',offset='16',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
     inst='sethi  %hi(0x11800), %o2'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
     {address='0x000107d0',func-name='main',offset='20',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
     inst='or  %o2, 0x168, %o4\t!! 0x11968 <_lib_version+48>'}]
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
     (gdb)
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
   Disassemble the whole `main' function.  Line 32 is part of `main'.
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
     -data-disassemble -f basics.c -l 32 -- 0
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
     ^done,asm_insns=[
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
     {address='0x000107bc',func-name='main',offset='0',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
     inst='save  %sp, -112, %sp'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
     {address='0x000107c0',func-name='main',offset='4',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
     inst='mov   2, %o0'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
     {address='0x000107c4',func-name='main',offset='8',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
     inst='sethi %hi(0x11800), %o2'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
     [...]
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
     {address='0x0001081c',func-name='main',offset='96',inst='ret '},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
     {address='0x00010820',func-name='main',offset='100',inst='restore '}]
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
     (gdb)
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
   Disassemble 3 instructions from the start of `main':
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
     (gdb)
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
     -data-disassemble -f basics.c -l 32 -n 3 -- 0
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
     ^done,asm_insns=[
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
     {address='0x000107bc',func-name='main',offset='0',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
     inst='save  %sp, -112, %sp'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
     {address='0x000107c0',func-name='main',offset='4',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
     inst='mov  2, %o0'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
     {address='0x000107c4',func-name='main',offset='8',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
     inst='sethi  %hi(0x11800), %o2'}]
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
     (gdb)
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
   Disassemble 3 instructions from the start of `main' in mixed mode:
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
     (gdb)
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
     -data-disassemble -f basics.c -l 32 -n 3 -- 1
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
     ^done,asm_insns=[
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
     src_and_asm_line={line='31',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
     file='../../../src/gdb/testsuite/gdb.mi/basics.c',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
     fullname='/absolute/path/to/src/gdb/testsuite/gdb.mi/basics.c',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
     line_asm_insn=[{address='0x000107bc',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
     func-name='main',offset='0',inst='save  %sp, -112, %sp'}]},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
     src_and_asm_line={line='32',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
     file='../../../src/gdb/testsuite/gdb.mi/basics.c',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
     fullname='/absolute/path/to/src/gdb/testsuite/gdb.mi/basics.c',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
     line_asm_insn=[{address='0x000107c0',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
     func-name='main',offset='4',inst='mov  2, %o0'},
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
     {address='0x000107c4',func-name='main',offset='8',
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
     inst='sethi  %hi(0x11800), %o2'}]}]
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
     (gdb)
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
"
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
! !
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
!GDBMI_data_disassemble methodsFor:'accessing'!
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
operation
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
	^ 'data-disassemble'
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
! !
568a2971c977 Generated classes for MI commands.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
126
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   244
!GDBMI_data_disassemble methodsFor:'accessing-descriptors'!
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   245
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   246
resultDescription
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   247
    ^ (super resultDescription)
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   248
        define:#'asm_insns'
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   249
            as:Array of:GDBInstructionsAndSourceLine whenTaggedBy: 'src_and_asm_line'
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   250
                     or:GDBInstruction               whenTaggedBy: nil;
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   251
        yourself
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   252
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   253
    "
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   254
     Magritte::MADescriptionBuilder default flush.
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   255
     GDBMI_data_disassemble new resultDescription"
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   256
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   257
    "Created: / 22-06-2018 / 10:24:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   258
    "Modified: / 03-07-2018 / 17:17:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   259
! !
fb73b0af430b Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 91
diff changeset
   260