8.8.1.1.1.3.1. Types¶
8.8.1.1.1.3.1.1. Address¶
An address on the target.
JavaScript numbers are floating point and can only accurately represent up to 53 bit integers accurately. Since we need to support 64 bit addressable targets, we support, and recommend, specifying addresses as strings or BigInts. Standard Javascript numbers are supported as well, for convenience, but their limitations should be kept in mind.
It is recommended that you perform pointer arithmetic using BigInts instead of standard javascript numbers, unless you are sure that the addresses are less than 53 bits wide.
// Different ways of specifying an address
session.breakpoints.add(0x2400n); // as a BigInt
session.breakpoints.add("0x2400"); // as a string
session.breakpoints.add(0x2400); // as a standard Javascript number
- Address = bigint | string | number¶
8.8.1.1.1.3.1.2. Page¶
A memory page on the target. Either the zero based index of the page, or its name.
The program page is always index 0.
- Page = number | string¶
8.8.1.1.1.3.1.3. DSLocation¶
A memory location on the target. Specifies an address and, optionally, a memory page.
Any address is a valid location. To specify a page, the location must be a numeric string representing the address
followed by @<page name>, @pa (physical access), or @ipa (intermediate physical access). If no page
is specified, then the default memory page is assumed.
// The following are all valid DSLocations (assuming the existence of pages PROGRAM and DATA)
0x2400n
9216n
0x2400
9216
"0x2400"
"0x2400@PROGRAM"
"9216@PROGRAM"
"0x2400@DATA"
8.8.1.1.1.3.1.4. CoreList¶
8.8.1.1.1.3.1.5. NumericRange¶
8.8.1.1.1.3.1.6. BigNumericRange¶
8.8.1.1.1.3.1.7. BaseSetting¶
8.8.1.1.1.3.1.8. DebugSetting¶
A debugger setting for a particular target. The setting's type can be determined by inspecting the type field.
- DebugSetting = BoolSetting | NumericSetting | StringSetting¶
8.8.1.1.1.3.1.9. BoolSetting¶
A boolean setting.
8.8.1.1.1.3.1.10. NumericSetting¶
A numeric setting, possibly restricted to a range.
- interface NumericSetting()¶
- id: string¶
The unique identifier of the setting.
- name: string¶
The name of the setting.
- type: "numeric"¶
Indicates this is a numeric setting.
- value: number¶
The value of the setting.
- allowedRange: NumericRange, optional¶
If present, indicates that the value must not lie outside the range (both ends are in the range).
8.8.1.1.1.3.1.11. StringSetting¶
A string-valued setting, possibly restricted to a list of possible values.
- interface StringSetting()¶
- id: string¶
The unique identifier of the setting.
- name: string¶
The name of the setting.
- type: "string"¶
Indicates this is a string-valued setting.
- value: string¶
The value of the setting.
- unresolvedValue: string, optional¶
The value of the property before any variable substitutions have been applied. Is only present if variable substitutions have occurred. For more details on variable substitution in settings see {@link DebuggerRootObject.settingsVariableSubstitutions}.
- allowedValues: string[], optional¶
If present, indicates that the setting's value must be one of these values.
8.8.1.1.1.3.1.12. BreakpointProperty¶
A property of a breakpoint. The properties exact value can be determined by inspecting the type field.
- BreakpointProperty = BoolBreakpointProperty | IntegerBreakpointProperty | LocationBreakpointProperty | StringBreakpointProperty¶
8.8.1.1.1.3.1.13. BaseBreakpointProperty¶
8.8.1.1.1.3.1.14. BoolBreakpointProperty¶
8.8.1.1.1.3.1.15. IntegerBreakpointProperty¶
- interface IntegerBreakpointProperty()¶
- id: string¶
The unique identifier for the property.
- description: string¶
A description of the property.
- type: "int"¶
Indicates this is a integer property.
- value: bigint | number | string¶
The property's value.
- allowedValues: (bigint | number | string)[], optional¶
If present, indicates that the value must be one of these values.
- allowedRange: BigNumericRange, optional¶
If present, indicates that the value must not lie outside the range (both ends are in the range).
8.8.1.1.1.3.1.16. LocationBreakpointProperty¶
8.8.1.1.1.3.1.17. StringBreakpointProperty¶
- interface StringBreakpointProperty()¶
- id: string¶
The unique identifier for the property.
- description: string¶
A description of the property.
- type: "string"¶
Indicates this is a string property.
- value: string¶
The property's value.
- allowedValues: string[], optional¶
If present, indicates that the value must be one of these values.
8.8.1.1.1.3.1.18. ClockEvent¶
8.8.1.1.1.3.1.19. GroupInfo¶
8.8.1.1.1.3.1.20. RegisterInfo¶
- interface RegisterInfo()¶
- id: string¶
The register's unique identifier.
- name: string¶
The register's name.
- location: bigint | number | string, optional¶
The address in memory where this register exists. Undefined for core registers.
- readable: boolean¶
True if this register can be read. Note that the target must be in a state that allows access as well.
- writable: boolean¶
True if this register can be written. Note that the target must be in a state that allows access as well.
8.8.1.1.1.3.1.21. RegistersGroupsResult¶
- interface RegistersGroupsResult()¶
- registers: RegisterInfo[]¶
The list of registers in the group.
8.8.1.1.1.3.1.22. RegisterBitfield¶
- interface RegisterBitfield()¶
- id: string¶
The bitfield's unique identifier.
- name: string¶
The bitfield's name.
- start: number¶
The bit within the containing register that this bitfield starts at.
- stop: number¶
The bit within the containing register that this bitfield ends at.
- readable: boolean¶
True if this bitfield can be read.
- writable: boolean¶
True if this bitfield can be written.
8.8.1.1.1.3.1.23. SymbolsSourceLineResult¶
8.8.1.1.1.3.1.24. FrameResult¶
- interface FrameResult()¶
- functionName: string, optional¶
The function's name.
- sourceLine: SymbolsSourceLineResult, optional¶
The source line of the frame.
- pc: string¶
The program counter.
8.8.1.1.1.3.1.25. CallstackResult¶
- interface CallstackResult()¶
- frames: FrameResult[]¶
The frames in the callstack.
- reasonUnwindHalted: string¶
The reason the callstack unwind was halted.
8.8.1.1.1.3.1.26. MemoryMapEntry¶
- interface MemoryMapEntry()¶
- start: DSLocation¶
The starting address (inclusive) of this region.
- end: DSLocation¶
The ending address (inclusive) of this region.
- attributes: string[]¶
The string attributes of this region. These are the attributes passed to GEL_MapAddStr as a | separated list.
8.8.1.1.1.3.1.27. MemoryMapResult¶
- interface MemoryMapResult()¶
- entries: MemoryMapEntry[]¶
The list of entries in the memory map.
- enabled: boolean¶
True if the memory map is enabled, false otherwise.
8.8.1.1.1.3.1.28. MemoryPageInfo¶
8.8.1.1.1.3.1.29. MemoryPages¶
- interface MemoryPages()¶
- pages: MemoryPageInfo[]¶
The list of target's memory pages.
8.8.1.1.1.3.1.30. ArmAdvancedFeaturesAction¶
8.8.1.1.1.3.1.31. DisassemblyLine¶
- interface DisassemblyLine()¶
- address: bigint | number | string¶
The memory location associated with this disassembly line.
@remarks Multiple disassembly lines can share the same address. In this case, the lines are intended to be displayed in the order they are provided.
- numOpCodes: number¶
The number of opcodes disassembled for this line.
- text: string¶
The text of the disassembly line. This will include the address and the bytes of the opcode(s).
8.8.1.1.1.3.1.32. FunctionInfo¶
8.8.1.1.1.3.1.33. SourceLineInfo¶
8.8.1.1.1.3.1.34. DisassemblyResult¶
- interface DisassemblyResult()¶
- disassembly: DisassemblyLine[]¶
The list of disassembly lines.