GDBMI_trace_find.st
author Jan Vrany <jan.vrany@labware.com>
Mon, 04 Sep 2023 14:00:57 +0100
changeset 314 4a2ef5a087f0
parent 272 cdd1c9ad00de
permissions -rw-r--r--
Add MI parser test This commit add test to parse real-world frament which failed to Pharo properly at some point. It is encoded here as bytearray to make sure all the characters are preserved exactly as they were.

"
jv:libgdbs - GNU Debugger Interface Library
Copyright (C) 2015-now Jan Vrany
Copyright (C) 2022-2023 LabWare

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
"
"{ Package: 'jv:libgdbs' }"

"{ NameSpace: Smalltalk }"

GDBMICommand subclass:#GDBMI_trace_find
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'GDB-Commands-MI'
!

!GDBMI_trace_find class methodsFor:'documentation'!

copyright
"
jv:libgdbs - GNU Debugger Interface Library
Copyright (C) 2015-now Jan Vrany
Copyright (C) 2022-2023 LabWare

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
"
!

documentation
"
The `-trace-find' Command
-------------------------

Synopsis
........

      -trace-find MODE [PARAMETERS...]

   Find a trace frame using criteria defined by MODE and PARAMETERS.
The following table lists permissible modes and their parameters.  For
details of operation, see *note tfind::.

`none'
     No parameters are required.  Stops examining trace frames.

`frame-number'
     An integer is required as parameter.  Selects tracepoint frame with
     that index.

`tracepoint-number'
     An integer is required as parameter.  Finds next trace frame that
     corresponds to tracepoint with the specified number.

`pc'
     An address is required as parameter.  Finds next trace frame that
     corresponds to any tracepoint at the specified address.

`pc-inside-range'
     Two addresses are required as parameters.  Finds next trace frame
     that corresponds to a tracepoint at an address inside the
     specified range.  Both bounds are considered to be inside the
     range.

`pc-outside-range'
     Two addresses are required as parameters.  Finds next trace frame
     that corresponds to a tracepoint at an address outside the
     specified range.  Both bounds are considered to be inside the
     range.

`line'
     Line specification is required as parameter.  *Note Specify
     Location::.  Finds next trace frame that corresponds to a
     tracepoint at the specified location.


   If `none' was passed as MODE, the response does not have fields.
Otherwise, the response may have the following fields:

`found'
     This field has either `0' or `1' as the value, depending on
     whether a matching tracepoint was found.

`traceframe'
     The index of the found traceframe.  This field is present iff the
     `found' field has value of `1'.

`tracepoint'
     The index of the found tracepoint.  This field is present iff the
     `found' field has value of `1'.

`frame'
     The information about the frame corresponding to the found trace
     frame.  This field is present only if a trace frame was found.
     *Note GDB/MI Frame Information::, for description of this field.


{No value for `GDBN'} Command
.............................

The corresponding {No value for `GDBN'} command is `tfind'.

-trace-define-variable
----------------------

Synopsis
........

      -trace-define-variable NAME [ VALUE ]

   Create trace variable NAME if it does not exist.  If VALUE is
specified, sets the initial value of the specified trace variable to
that value.  Note that the NAME should start with the `$' character.

{No value for `GDBN'} Command
.............................

The corresponding {No value for `GDBN'} command is `tvariable'.


"
! !

!GDBMI_trace_find methodsFor:'accessing'!

operation
	^ 'trace-find'
! !