Namespaces
Enumerations
enum DebugSymbolFileType
| Name | Value |
|---|---|
| kDebugInfo | 0 |
| kBinary | 1 |
Defined at line 10 of file ../../src/developer/debug/zxdb/symbols/debug_symbol_file_type.h
enum DwarfLang
| Name | Value |
|---|---|
| kNone | 0 |
| kC89 | 0x01 |
| kC | 0x02 |
| kAda83 | 0x03 |
| kCpp | 0x04 |
| kCobol74 | 0x05 |
| kCobol85 | 0x06 |
| kFortran77 | 0x07 |
| kFortran90 | 0x08 |
| kPascal83 | 0x09 |
| kModula2 | 0x0a |
| kJava | 0x0b |
| kC99 | 0x0c |
| kAda95 | 0x0d |
| kFortran95 | 0x0e |
| kPLI | 0x0f |
| kObjC | 0x10 |
| kObjCpp | 0x11 |
| kUPC | 0x12 |
| kD | 0x13 |
| kPython | 0x14 |
| kOpenCL | 0x15 |
| kGo | 0x16 |
| kModula3 | 0x17 |
| kHaskell | 0x18 |
| kCpp03 | 0x19 |
| kCpp11 | 0x1a |
| kOCaml | 0x1b |
| kRust | 0x1c |
| kC11 | 0x1d |
| kSwift | 0x1e |
| kJulia | 0x1f |
| kDylan | 0x20 |
| kCpp14 | 0x21 |
| kFortran03 | 0x22 |
| kFortran08 | 0x23 |
| kRenderScript | 0x24 |
| kBLISS | 0x25 |
| kLast | 38 |
Defined at line 10 of file ../../src/developer/debug/zxdb/symbols/dwarf_lang.h
enum CommandGroup
| Name | Value |
|---|---|
| kNone | 0 |
| kAssembly | 1 |
| kBreakpoint | 2 |
| kGeneral | 3 |
| kProcess | 4 |
| kQuery | 5 |
| kStep | 6 |
| kSymbol | 7 |
Used to group similar commands in the help.
Defined at line 11 of file ../../src/developer/debug/zxdb/console/command_group.h
enum StepMode
| Name | Value |
|---|---|
| kAddressRange | 0 |
| kSourceLine | 1 |
| kInstruction | 2 |
Several thread controllers manage different types of stepping. This enum defines the
possibilities.
Defined at line 12 of file ../../src/developer/debug/zxdb/client/step_mode.h
enum DwarfTag
| Name | Value |
|---|---|
| kNone | 0x00 |
| kArrayType | 0x01 |
| kClassType | 0x02 |
| kEntryPoint | 0x03 |
| kEnumerationType | 0x04 |
| kFormalParameter | 0x05 |
| kImportedDeclaration | 0x08 |
| kLabel | 0x0a |
| kLexicalBlock | 0x0b |
| kMember | 0x0d |
| kPointerType | 0x0f |
| kReferenceType | 0x10 |
| kCompileUnit | 0x11 |
| kStringType | 0x12 |
| kStructureType | 0x13 |
| kSubroutineType | 0x15 |
| kTypedef | 0x16 |
| kUnionType | 0x17 |
| kUnspecifiedParameters | 0x18 |
| kVariant | 0x19 |
| kCommonBlock | 0x1a |
| kCommonInclusion | 0x1b |
| kInheritance | 0x1c |
| kInlinedSubroutine | 0x1d |
| kModule | 0x1e |
| kPtrToMemberType | 0x1f |
| kSetType | 0x20 |
| kSubrangeType | 0x21 |
| kWithStmt | 0x22 |
| kAccessDeclaration | 0x23 |
| kBaseType | 0x24 |
| kCatchBlock | 0x25 |
| kConstType | 0x26 |
| kConstant | 0x27 |
| kEnumerator | 0x28 |
| kFileType | 0x29 |
| kFriend | 0x2a |
| kNamelist | 0x2b |
| kNamelistItem | 0x2c |
| kPackedType | 0x2d |
| kSubprogram | 0x2e |
| kTemplateTypeParameter | 0x2f |
| kTemplateValueParameter | 0x30 |
| kThrownType | 0x31 |
| kTryBlock | 0x32 |
| kVariantPart | 0x33 |
| kVariable | 0x34 |
| kVolatileType | 0x35 |
| kDwarfProcedure | 0x36 |
| kRestrictType | 0x37 |
| kInterfaceType | 0x38 |
| kNamespace | 0x39 |
| kImportedModule | 0x3a |
| kUnspecifiedType | 0x3b |
| kPartialUnit | 0x3c |
| kImportedUnit | 0x3d |
| kCondition | 0x3f |
| kSharedType | 0x40 |
| kTypeUnit | 0x41 |
| kRvalueReferenceType | 0x42 |
| kTemplateAlias | 0x43 |
| kCoarrayType | 0x44 |
| kGenericSubrange | 0x45 |
| kDynamicType | 0x46 |
| kAtomicType | 0x47 |
| kCallSite | 0x48 |
| kCallSiteParameter | 0x49 |
| kSkeletonUnit | 0x4a |
| kImmutableType | 0x4b |
| kLastDefined | 76 |
| kLoUser | 0x4080 |
| kHiUser | 0xffff |
Defined at line 12 of file ../../src/developer/debug/zxdb/symbols/dwarf_tag.h
enum ElfSymbolType
| Name | Value |
|---|---|
| kNormal | 0 |
| kPlt | 1 |
Defined at line 14 of file ../../src/developer/debug/zxdb/symbols/elf_symbol_record.h
enum BreakpointAction
| Name | Value |
|---|---|
| kContinue | 0 |
| kSilentStop | 1 |
| kStop | 2 |
What to do when a breakpoint is hit.
The ordering if this enum is in increasing order or precedence. The highest numbered value is
used when there are conflicts (see BreakpointActionHighestPrecedence() below).
Defined at line 14 of file ../../src/developer/debug/zxdb/client/breakpoint_action.h
enum FunctionStep
| Name | Value |
|---|---|
| kDefault | 0 |
| kStepThroughPlt | 1 |
| kStepNoLineInfo | 2 |
| kStepOut | 3 |
Actions that might be performend when entering a new function. Some functions may be skipped
or stepped through transparently depending on what they are and the debugger configuration.
Defined at line 14 of file ../../src/developer/debug/zxdb/client/function_step.h
enum ExprTokenType
| Name | Value |
|---|---|
| kInvalid | 0 |
| kName | 1 |
| kSpecialName | 2 |
| kComment | 3 |
| kInteger | 4 |
| kFloat | 5 |
| kStringLiteral | 6 |
| kCharLiteral | 7 |
| kRustLifetime | 8 |
| kCommentBlockEnd | 9 |
| kEquals | 10 |
| kEquality | 11 |
| kInequality | 12 |
| kLessEqual | 13 |
| kGreaterEqual | 14 |
| kSpaceship | 15 |
| kDot | 16 |
| kDotStar | 17 |
| kComma | 18 |
| kSemicolon | 19 |
| kStar | 20 |
| kAmpersand | 21 |
| kDoubleAnd | 22 |
| kBitwiseOr | 23 |
| kLogicalOr | 24 |
| kArrow | 25 |
| kArrowStar | 26 |
| kLeftSquare | 27 |
| kRightSquare | 28 |
| kLeftParen | 29 |
| kRightParen | 30 |
| kLeftBracket | 31 |
| kRightBracket | 32 |
| kLess | 33 |
| kGreater | 34 |
| kMinus | 35 |
| kMinusMinus | 36 |
| kBang | 37 |
| kPlus | 38 |
| kPlusPlus | 39 |
| kSlash | 40 |
| kAt | 41 |
| kOctothorpe | 42 |
| kCaret | 43 |
| kPercent | 44 |
| kQuestion | 45 |
| kTilde | 46 |
| kColon | 47 |
| kColonColon | 48 |
| kPlusEquals | 49 |
| kMinusEquals | 50 |
| kStarEquals | 51 |
| kSlashEquals | 52 |
| kPercentEquals | 53 |
| kCaretEquals | 54 |
| kAndEquals | 55 |
| kOrEquals | 56 |
| kShiftLeft | 57 |
| kShiftLeftEquals | 58 |
| kShiftRight | 59 |
| kShiftRightEquals | 60 |
| kTrue | 61 |
| kFalse | 62 |
| kConst | 63 |
| kMut | 64 |
| kLet | 65 |
| kVolatile | 66 |
| kRestrict | 67 |
| kReinterpretCast | 68 |
| kStaticCast | 69 |
| kSizeof | 70 |
| kAs | 71 |
| kIf | 72 |
| kElse | 73 |
| kFor | 74 |
| kDo | 75 |
| kWhile | 76 |
| kLoop | 77 |
| kBreak | 78 |
| kOperator | 79 |
| kNew | 80 |
| kDelete | 81 |
| kNumTypes | 82 |
This type must start at 0 and increment monotonically since it is used as an index into the
parser lookup table.
Defined at line 14 of file ../../src/developer/debug/zxdb/expr/expr_token_type.h
enum Align
| Name | Value |
|---|---|
| kLeft | 0 |
| kRight | 1 |
Defined at line 15 of file ../../src/developer/debug/zxdb/console/format_table.h
enum ExprLanguage
| Name | Value |
|---|---|
| kC | 1 |
| kRust | 2 |
The enum values should be bits so we can store the language applicability for each token in a
bitfield.
Defined at line 17 of file ../../src/developer/debug/zxdb/expr/expr_language.h
enum SettingType
| Name | Value |
|---|---|
| kBoolean | 0 |
| kInteger | 1 |
| kString | 2 |
| kList | 3 |
| kExecutionScope | 4 |
| kInputLocations | 5 |
| kNull | 6 |
Defined at line 17 of file ../../src/developer/debug/zxdb/client/setting_value.h
enum IdentifierQualification
| Name | Value |
|---|---|
| kGlobal | 0 |
| kRelative | 1 |
Identifiers can be explicitly global qualified ("::foo" in C++) or without
global qualification ("foo" or "Foo::Bar" in C++). Note that relative
can still include class or namespace qualifications.
Defined at line 18 of file ../../src/developer/debug/zxdb/symbols/identifier_base.h
enum VectorRegisterFormat
| Name | Value |
|---|---|
| kSigned8 | 0 |
| kUnsigned8 | 1 |
| kSigned16 | 2 |
| kUnsigned16 | 3 |
| kSigned32 | 4 |
| kUnsigned32 | 5 |
| kSigned64 | 6 |
| kUnsigned64 | 7 |
| kSigned128 | 8 |
| kUnsigned128 | 9 |
| kFloat | 10 |
| kDouble | 11 |
Defined at line 18 of file ../../src/developer/debug/zxdb/expr/vector_register_format.h
enum Syntax
| Name | Value |
|---|---|
| kNormal | 0 |
| kComment | 1 |
| kHeading | 2 |
| kError | 3 |
| kWarning | 4 |
| kSpecial | 5 |
| kReversed | 6 |
| kVariable | 7 |
| kFileName | 8 |
| kKeywordBold | 9 |
| kKeywordNormal | 10 |
| kKeywordDim | 11 |
| kOperatorBold | 12 |
| kOperatorNormal | 13 |
| kOperatorDim | 14 |
| kNumberBold | 15 |
| kNumberNormal | 16 |
| kNumberDim | 17 |
| kStringBold | 18 |
| kStringNormal | 19 |
| kStringDim | 20 |
"Special" is used to note something unusual or weird.
Defined at line 18 of file ../../src/developer/debug/zxdb/console/output_buffer.h
enum VmOpType
| Name | Value |
|---|---|
| kError | 0 |
| kUnary | 1 |
| kBinary | 2 |
| kExpandRef | 3 |
| kDrop | 4 |
| kDup | 5 |
| kLiteral | 6 |
| kJump | 7 |
| kJumpIfFalse | 8 |
| kGetLocal | 9 |
| kSetLocal | 10 |
| kPopLocals | 11 |
| kPushBreak | 12 |
| kPopBreak | 13 |
| kBreak | 14 |
| kCallback0 | 15 |
| kCallback1 | 16 |
| kCallback2 | 17 |
| kCallbackN | 18 |
| kAsyncCallback0 | 19 |
| kAsyncCallback1 | 20 |
| kAsyncCallback2 | 21 |
| kAsyncCallbackN | 22 |
| kLast | 23 |
The bytecode operation types used by VmOp.
Our bytecode operations are very simple. Most of the critical logic is implemented via the
various callback operations. The bytecode operations exist only to dop the toplevel control-flow.
See VmOp for more.
Defined at line 18 of file ../../src/developer/debug/zxdb/expr/vm_op_type.h
enum VisitResult
| Name | Value |
|---|---|
| kDone | 0 |
| kAbort | 1 |
| kContinue | 2 |
Return value for the callback for visiting the different scopes. The return for the whole
function will be that of the last executed callback.
Defined at line 20 of file ../../src/developer/debug/zxdb/symbols/visit_scopes.h
enum SpecialIdentifier
| Name | Value |
|---|---|
| kNone | 0 |
| kEscaped | 1 |
| kAnon | 2 |
| kMain | 3 |
| kElf | 4 |
| kPlt | 5 |
| kRegister | 6 |
| kZxdb | 7 |
| kLast | 8 |
Defined at line 20 of file ../../src/developer/debug/zxdb/symbols/identifier_base.h
enum PointedToOptions
| Name | Value |
|---|---|
| kNoVoid | 0 |
| kIncludeVoid | 1 |
Control what is allowed to be returned from |GetPointedToType|.
Defined at line 22 of file ../../src/developer/debug/zxdb/expr/resolve_ptr_ref.h
enum ErrType
| Name | Value |
|---|---|
| kNone | 0 |
| kGeneral | 1 |
| kCanceled | 2 |
| kNoConnection | 3 |
| kCorruptMessage | 4 |
| kClientApi | 5 |
| kNotSupported | 6 |
| kNotFound | 7 |
| kAlreadyExists | 8 |
| kNoResources | 9 |
| kInput | 10 |
| kOptimizedOut | 11 |
| kUnsupported | 12 |
Most errors are general but in some cases we need to programmatically know a particular error.
These errors are listed here.
Defined at line 22 of file ../../src/developer/debug/zxdb/common/err.h
enum CastType
| Name | Value |
|---|---|
| kImplicit | 0 |
| kC | 1 |
| kReinterpret | 2 |
| kRust | 3 |
| kStatic | 4 |
Our casting rules are somewhat different than C++. In a debugger, we want to be as permissive as
reasonable given the rules of the requested cast. When the user is interactively assigning or
converting values, they usually don't want the warnings and errors that come with C++.
Defined at line 22 of file ../../src/developer/debug/zxdb/expr/cast.h
enum PromoteToDerived
| Name | Value |
|---|---|
| kPtrOnly | 0 |
| kRefOnly | 1 |
| kPtrOrRef | 2 |
Selects whether PromotePtrRefToDerived will convert, references (either rvalue or regular),
pointers, or both.
Defined at line 23 of file ../../src/developer/debug/zxdb/expr/resolve_base.h
enum Noun
| Name | Value |
|---|---|
| kNone | 0 |
| kBreakpoint | 1 |
| kFrame | 2 |
| kProcess | 3 |
| kGlobal | 4 |
| kSymServer | 5 |
| kThread | 6 |
| kFilter | 7 |
| kLast | 8 |
Defined at line 23 of file ../../src/developer/debug/zxdb/console/nouns.h
enum SourceAffinity
| Name | Value |
|---|---|
| kSource | 0 |
| kAssembly | 1 |
| kNone | 2 |
Indicates whether a command implies either source or assembly context. This
can be used by the frontend as a hint for what to show for the next stop.
Defined at line 25 of file ../../src/developer/debug/zxdb/console/verbs.h
enum VariablesType
| Name | Value |
|---|---|
| kLocal | 0 |
| kArguments | 1 |
| kRegister | 2 |
| kChildVariable | 3 |
| kVariablesTypeCount | 4 |
Types of variables reported in variables request.
Defined at line 36 of file ../../src/developer/debug/zxdb/debug_adapter/context.h
enum Verb
| Name | Value |
|---|---|
| kNone | 0 |
| kAspace | 1 |
| kAsyncBacktrace | 2 |
| kAttach | 3 |
| kAuth | 4 |
| kBacktrace | 5 |
| kBreak | 6 |
| kClear | 7 |
| kCls | 8 |
| kConnect | 9 |
| kContinue | 10 |
| kDetach | 11 |
| kDisable | 12 |
| kDisassemble | 13 |
| kDisconnect | 14 |
| kDisplay | 15 |
| kDown | 16 |
| kEnable | 17 |
| kExceptionInfo | 18 |
| kFinish | 19 |
| kGet | 20 |
| kHandle | 21 |
| kHelp | 22 |
| kJump | 23 |
| kKill | 24 |
| kLibs | 25 |
| kList | 26 |
| kListProcesses | 27 |
| kLocals | 28 |
| kMemAnalyze | 29 |
| kMemRead | 30 |
| kNew | 31 |
| kNext | 32 |
| kNexti | 33 |
| kOpenDump | 34 |
| kPause | 35 |
| kPrint | 36 |
| kQuit | 37 |
| kRegs | 38 |
| kRm | 39 |
| kRun | 40 |
| kRunComponent | 41 |
| kRunTest | 42 |
| kSaveDump | 43 |
| kSet | 44 |
| kStackData | 45 |
| kStackUsage | 46 |
| kStatus | 47 |
| kStderr | 48 |
| kStdout | 49 |
| kStep | 50 |
| kStepi | 51 |
| kSteps | 52 |
| kSymDebug | 53 |
| kSymInfo | 54 |
| kSymNear | 55 |
| kSymSearch | 56 |
| kSymStat | 57 |
| kSysInfo | 58 |
| kUntil | 59 |
| kUp | 60 |
| kWatch | 61 |
| kLast | 62 |
Defined at line 36 of file ../../src/developer/debug/zxdb/console/verbs.h
enum SessionConnectionType
| Name | Value |
|---|---|
| kNetwork | 1 |
| kUnix | 2 |
Defined at line 47 of file ../../src/developer/debug/zxdb/client/session.h
enum TextBackgroundColor
| Name | Value |
|---|---|
| kDefault | 0 |
| kBlack | 1 |
| kBlue | 2 |
| kCyan | 3 |
| kGray | 4 |
| kGreen | 5 |
| kMagenta | 6 |
| kRed | 7 |
| kYellow | 8 |
| kWhite | 9 |
| kLightBlue | 10 |
| kLightCyan | 11 |
| kLightGray | 12 |
| kLightGreen | 13 |
| kLightMagenta | 14 |
| kLightRed | 15 |
| kLightYellow | 16 |
The following color enums are to be used when Syntax is not enough, which
is meant to semantic meaning. Colors are to be used by specific output that
use more fine-grained control over color output, like the register output
table.
Colors never override syntax. They are only applied when the Span is using
a normal syntax.
Defined at line 55 of file ../../src/developer/debug/zxdb/console/output_buffer.h
enum FloatFollowing
| Name | Value |
|---|---|
| kCanFollow | 0 |
| kCanNotFollow | 1 |
The tokenizer needs some context to disambiguate the Rust case where "foo.0.1" where this is
a sequence of accesses with integers rather than a floating point number.
Defined at line 78 of file ../../src/developer/debug/zxdb/expr/number_parser.h
enum TextForegroundColor
| Name | Value |
|---|---|
| kDefault | 0 |
| kBlack | 1 |
| kBlue | 2 |
| kCyan | 3 |
| kGray | 4 |
| kGreen | 5 |
| kMagenta | 6 |
| kRed | 7 |
| kYellow | 8 |
| kWhite | 9 |
| kLightBlue | 10 |
| kLightCyan | 11 |
| kLightGray | 12 |
| kLightGreen | 13 |
| kLightMagenta | 14 |
| kLightRed | 15 |
| kLightYellow | 16 |
Defined at line 79 of file ../../src/developer/debug/zxdb/console/output_buffer.h
enum FloatSuffix
| Name | Value |
|---|---|
| kNone | 0 |
| kFloat | 1 |
| kLong | 2 |
Defined at line 96 of file ../../src/developer/debug/zxdb/expr/number_parser.h
Records
-
class Abi -
class AbiArm64 -
class AbiNull -
class AbiRiscv64 -
class AbiX64 -
class AdaptersTest_ReversedArray_Test -
class AdaptersTest_ReversedConst_Test -
class AdaptersTest_Reversed_Test -
class AddressOfExprNode -
class AddressRangeMap -
class AddressRangeMapBuilder -
class AddressRangeMapBuilder_Build_Test -
class AddressRangeMap_Query_Test -
class AddressRanges -
class AddressRanges_Basic_Test -
class AddressRanges_GetRangeContaining_Test -
class AddressRanges_InRange_Test -
class AddressRanges_NonCanonical_Test -
class Analytics -
class AnalyticsEvent -
class AnalyticsEventTest -
class AnalyticsEventTest_DoNotLeakUsername_Test -
class AnalyticsReporter -
class AnalyzeMemoryOptions -
class AnalyzeMemoryTest_Basic_Test -
class ArchInfo -
class ArrayAccessExprNode -
class ArrayType -
class AsyncDwarfExprEval -
class AsyncDwarfExprEvalTest_MemoryManagement_Test -
class AsyncDwarfExprEvalValue -
class AsyncOutputBuffer -
class AsyncOutputBuffer_Async_Test -
class AsyncOutputBuffer_Empty_Test -
class AsyncOutputBuffer_OneLevel_Test -
class AsyncOutputBuffer_Sync_Test -
class BacktraceCache -
class BaseType -
class BinaryOpExprNode -
class Bitfield_Assignment_Test -
class Bitfield_Bitfield_Test -
class Bitfield_NegativeBitOffset_Test -
class BlockExprNode -
class BreakExprNode -
class Breakpoint -
class BreakpointCommandTest -
class BreakpointImpl -
class BreakpointImplTest_Address_Test -
class BreakpointImplTest_DynamicLoading_Test -
class BreakpointImplTest_SetSize_Test -
class BreakpointImplTest_Watchpoint_Test -
class BreakpointLocation -
class BreakpointLocationImpl -
class BreakpointObserver -
class BreakpointSettings -
class BreakpointTestRemoteAPI -
class BuildIDIndex -
class BuildIDIndex_IndexBuildIdDir_Test -
class BuildIDIndex_IndexDir_Test -
class BuildIDIndex_IndexFile_Test -
class BuildIDIndex_ParseIDFile_Test -
class BuildIDIndex_ReadFromSymbolIndexFile_Test -
class BuildIDIndex_ReadFromSymbolIndexString_Test -
class BuiltinTypes_C_Test -
class BuiltinTypes_Rust_Test -
class CacheDir -
class CacheDirTest_PruneDir_Test -
class CallFunctionThreadController -
class CallFunctionThreadControllerArm64 -
class CallFunctionThreadControllerX64 -
class CallSite -
class CallSiteParameter -
class CallSiteSymbolDataProvider -
class CallSiteSymbolDataProviderTest_CalleeSaved_Test -
class CallSiteSymbolDataProviderTest_GetRegisterAsync_Test -
class CastExprNode -
class Cast_C_Test -
class Cast_Enum_Test -
class Cast_ImplicitDerived_Test -
class Cast_Implicit_Test -
class Cast_Reinterpret_Test -
class Cast_StaticCastVirtualInheritance_Test -
class Cast_Static_Test -
class CheckedAdd_DifferentTypesSelectsLarger_Test -
class CheckedAdd_NoOverflow_Test -
class CheckedAdd_OverflowDifferentType_Test -
class CheckedAdd_OverflowSameType_Test -
class ClientEvalContextImpl -
class ClientEvalContextImplTest_AutoCastToDerived_Test -
class ClientObject -
class ClientSettings -
class CodeBlock -
class CodeBlock_ContainsAddress_Test -
class CodeBlock_GetAmbiguousInlineChain_Test -
class CodeBlock_GetCallSiteForReturnTo_Test -
class CodeBlock_GetContainingFunction_Test -
class CodeBlock_GetMostSpecificChild_Test -
class ColSpec -
class Collection -
class Collection_GetIdentifier_Test -
class Collection_GetSpecialType_Test -
class Command -
class CommandContext -
class CommandContextTest -
class CommandContextTest_CommandReportElidesPaths_Test -
class CommandContextTest_CommandReport_Test -
class CommandContext_AsyncOutputAndErrors_Test -
class CommandContext_Empty_Test -
class CommandEvent -
class CommandLineOptions -
class CommandParser_Completions_Test -
class CommandParser_NounSwitches_Test -
class CommandParser_OneParam_Test -
class CommandParser_ParserBasicErrors_Test -
class CommandParser_ParserBasic_Test -
class CommandParser_Tokenizer_Test -
class CommandParser_VerbSwitches_Test -
class CommandReport -
class CommandSequence_Empty_Test -
class CommandSequence_Error_Test -
class CommandSequence_Success_Test -
class CommandToken -
class CommandUtils_AssertStoppedThreadWithFrameCommand_Test -
class CommandUtils_FormatAllThreadStacks_Test -
class CommandUtils_FormatBreakpoint_Test -
class CommandUtils_FormatConsoleString_Test -
class CommandUtils_FormatInputLocation_Test -
class CommandUtils_FormatInputLocations_Test -
class CommandUtils_ReadUint64Arg_Test -
class CommandUtils_StringToInt_Test -
class CommandUtils_StringToUint32_Test -
class CommandUtils_StringToUint64_Test -
class CompileUnit -
class ComponentObserver -
class ConditionExprNode -
class Console -
class ConsoleCommandContext -
class ConsoleContext -
class ConsoleContextTest_CurrentBreakpoint_Test -
class ConsoleFormatOptions -
class ConsoleImpl -
class ConsoleImplTest_ControlC_Test -
class ConsoleNoninteractive -
class ConsoleSuspendToken -
class ConsoleTest -
class ConsoleType -
class ConstValue -
class ConstValue_Data_Test -
class ConstValue_Empty_Test -
class ConstValue_Numbers_Test -
class ContextTest_DisconnectRequest_Test -
class ContextTest_ExitedEvent_Test -
class ContextTest_InitializeRequestNotConnected_Test -
class ContextTest_InitializeRequest_Test -
class ContextTest_InitializedEvent_Test -
class ContextTest_ProcessStartEvent_Test -
class ContextTest_StoppedEventException_Test -
class ContextTest_StoppedEventProcessLevelBreakpoint_Test -
class ContextTest_StoppedEventThreadLevelBreakpoint_Test -
class ContextTest_StoppedEventUnspecifiedAllLevelBreakpoint_Test -
class ContextTest_ThreadStartExitEvent_Test -
class Curl -
class DataExtractor -
class DataExtractor_Empty_Test -
class DataExtractor_Manual_Test -
class DataExtractor_Numbers_Test -
class DataExtractor_ReadLeb128_Error_Test -
class DataExtractor_ReadLeb128_HighBit_Test -
class DataExtractor_ReadLeb128_NoHighBit_Test -
class DataExtractor_SeekAdvance_Test -
class DataMember -
class DebugAdapterContext -
class DebugAdapterContextTest -
class DebugAdapterReader -
class DebugAdapterServer -
class DebugAdapterServerObserver -
class DebugAdapterServerTest -
class DebugAdapterServerTest_ConnectDisconnectTest_Test -
class DebugAdapterServerTest_ConnectionTest_Test -
class DebugAdapterServerTest_InitTest_Test -
class DebugAdapterWriter -
class DereferenceExprNode -
class DerivedClassTestSetup -
class Disassembler -
class Disassembler_Arm64Many_Test -
class Disassembler_CallArm64_Test -
class Disassembler_CallX64_Test -
class Disassembler_Dump_Test -
class Disassembler_X64Individual_Test -
class Disassembler_X64Many_Test -
class Disassembler_X64Undecodable_Test -
class Download -
class DownloadManager -
class DownloadManagerTest -
class DownloadManagerTest_AuthenticatedDownload_Test -
class DownloadManagerTest_BuildIDNotFound_Test -
class DownloadManagerTest_DownloadUnreachable_Test -
class DownloadManagerTest_MultipleDownloads_Test -
class DownloadManagerTest_PublicDownload_Test -
class DownloadManagerTest_SomeSucceedSomeFail_Test -
class DownloadObserver -
class DwarfAbstractChildIteratorBase -
class DwarfAbstractChildIterator_Abstract_Test -
class DwarfAbstractChildIterator_ConcreteNoChildren_Test -
class DwarfAbstractChildIterator_Empty_Test -
class DwarfAbstractChildIterator_NoAbstract_Test -
class DwarfAbstractChildIterator_Null_Test -
class DwarfBinary -
class DwarfBinaryImpl -
class DwarfDieDecoder -
class DwarfDieScanner -
class DwarfExpr -
class DwarfExprEval -
class DwarfExprEvalTest_Abs_Test -
class DwarfExprEvalTest_Addr_Test -
class DwarfExprEvalTest_AddrxAndConstx_Test -
class DwarfExprEvalTest_And_Test -
class DwarfExprEvalTest_AsyncInvalidOp_Test -
class DwarfExprEvalTest_AsyncRegister_Test -
class DwarfExprEvalTest_Bra_Test -
class DwarfExprEvalTest_Breg_Test -
class DwarfExprEvalTest_Bregx_Test -
class DwarfExprEvalTest_CFA_Test -
class DwarfExprEvalTest_Casts_Test -
class DwarfExprEvalTest_Const1s_Test -
class DwarfExprEvalTest_Const1u_Test -
class DwarfExprEvalTest_Const2s_Test -
class DwarfExprEvalTest_Const2u_Test -
class DwarfExprEvalTest_Const4ReadOffEnd_Test -
class DwarfExprEvalTest_Const4s_Test -
class DwarfExprEvalTest_Const4u_Test -
class DwarfExprEvalTest_Const8s_Test -
class DwarfExprEvalTest_Const8u_Test -
class DwarfExprEvalTest_ConstReadOffEnd_Test -
class DwarfExprEvalTest_ConstType_Test -
class DwarfExprEvalTest_Consts_Test -
class DwarfExprEvalTest_ConstuDrop_Test -
class DwarfExprEvalTest_DerefSizeAndType_Test -
class DwarfExprEvalTest_Deref_Test -
class DwarfExprEvalTest_Div_Test -
class DwarfExprEvalTest_DupAdd_Test -
class DwarfExprEvalTest_EntryValue_Test -
class DwarfExprEvalTest_Eq_Test -
class DwarfExprEvalTest_Fbreg_Test -
class DwarfExprEvalTest_Ge_Test -
class DwarfExprEvalTest_GetTLSAddr_Test -
class DwarfExprEvalTest_Gt_Test -
class DwarfExprEvalTest_ImplicitValue_Test -
class DwarfExprEvalTest_InfiniteLoop_Test -
class DwarfExprEvalTest_Le_Test -
class DwarfExprEvalTest_LiteralOp_Test -
class DwarfExprEvalTest_Lt_Test -
class DwarfExprEvalTest_MarkValue_Test -
class DwarfExprEvalTest_Minus_Test -
class DwarfExprEvalTest_Mod_Test -
class DwarfExprEvalTest_Mul_Test -
class DwarfExprEvalTest_Ne_Test -
class DwarfExprEvalTest_Neg_Test -
class DwarfExprEvalTest_NoResult_Test -
class DwarfExprEvalTest_Not_Test -
class DwarfExprEvalTest_Or_Test -
class DwarfExprEvalTest_Over_Test -
class DwarfExprEvalTest_Pick_Test -
class DwarfExprEvalTest_Piece_Memory_Test -
class DwarfExprEvalTest_Piece_ValueUnknown_Test -
class DwarfExprEvalTest_Piece_Value_Test -
class DwarfExprEvalTest_PlusUconst_Test -
class DwarfExprEvalTest_PrettyPrint_Test -
class DwarfExprEvalTest_RegvalType_Test -
class DwarfExprEvalTest_Rot_Test -
class DwarfExprEvalTest_Shl_Test -
class DwarfExprEvalTest_Shr_Test -
class DwarfExprEvalTest_Shra_Test -
class DwarfExprEvalTest_Skip_Test -
class DwarfExprEvalTest_Swap_Test -
class DwarfExprEvalTest_SyncInvalidOp_Test -
class DwarfExprEvalTest_SyncRegisterAsNumber_Test -
class DwarfExprEvalTest_SyncRegister_Test -
class DwarfExprEvalTest_Xor_Test -
class DwarfLocation_Dwarf4BadExpr_Test -
class DwarfLocation_Dwarf4NewBaseAddress_Test -
class DwarfLocation_Dwarf4UnitRelative_Test -
class DwarfLocation_Dwarf5AddrLookup_Test -
class DwarfLocation_Dwarf5BadAddressIndex_Test -
class DwarfLocation_Dwarf5NonSplit_Test -
class DwarfLocation_Dwarf5UnterminatedTable_Test -
class DwarfStackEntry -
class DwarfSymbolFactory -
class DwarfSymbolFactory_Array2D_Test -
class DwarfSymbolFactory_ArrayType_Test -
class DwarfSymbolFactory_CodeBlocks_Test -
class DwarfSymbolFactory_DISABLED_Collection_Test -
class DwarfSymbolFactory_Enum_Test -
class DwarfSymbolFactory_Function_Test -
class DwarfSymbolFactory_InheritedFrom_Test -
class DwarfSymbolFactory_InlinedFunction_Test -
class DwarfSymbolFactory_InlinedMemberFunction_Test -
class DwarfSymbolFactory_ModifiedBaseType_Test -
class DwarfSymbolFactory_NullPtrTTypedef_Test -
class DwarfSymbolFactory_PtrToMemberFunction_Test -
class DwarfSymbolFactory_RValueRef_Test -
class DwarfSymbolFactory_TemplateParams_Test -
class DwarfTag_DwarfTagToString_Test -
class DwarfUnit -
class DwarfUnitImpl -
class DwoInfo -
class E2eTest -
class ElfMemoryRegion -
class ElfMemoryRegion_CompressedAccess_Test -
class ElfMemoryRegion_RandomAccess_Test -
class ElfSymbol -
class ElfSymbolRecord -
class ElfSymbolRecord_Demangle_Test -
class ElfSymbolRecord_NonMangled_Test -
class ElfSymbol_Names_Test -
class EmbeddedModeConsoleContext -
class EmbeddedModeConsoleContext_ReturnToEmbeddedModeContinueThenQuit_Test -
class EmbeddedModeConsoleContext_ReturnToEmbeddedModeOnQuitWithMultipleProcesses_Test -
class EmbeddedModeConsoleContext_ReturnToEmbeddedOnProcessExit_Test -
class EmbeddedModeConsoleContext_StayInteractiveWithContextualContinue_Test -
class Enumeration -
class Err -
class ErrOr -
class ErrOr_Basic_Test -
class EvalContext -
class EvalContextImpl -
class EvalContextImplTest_ConstantVariable_Test -
class EvalContextImplTest_DataResult_Test -
class EvalContextImplTest_DwarfEvalFailure_Test -
class EvalContextImplTest_ExternVariable_Test -
class EvalContextImplTest_FloatRegisterByName_Test -
class EvalContextImplTest_FoundAsynchronous_Test -
class EvalContextImplTest_FoundSynchronous_Test -
class EvalContextImplTest_FoundThis_Test -
class EvalContextImplTest_IntOnStack_Test -
class EvalContextImplTest_NodeIntegation_Test -
class EvalContextImplTest_NotFoundSynchronous_Test -
class EvalContextImplTest_RangeMiss_Test -
class EvalContextImplTest_RegisterByName_Test -
class EvalContextImplTest_RegisterShadowed_Test -
class EvalContextImplTest_RegisterShort_Test -
class EvalContextImplTest_VectorRegister_Test -
class EvalOperators_ArrayResize_Test -
class EvalOperators_AssignmentBad_Test -
class EvalOperators_AssignmentBitfieldRegister_Test -
class EvalOperators_AssignmentFullRegister_Test -
class EvalOperators_AssignmentLocal_Test -
class EvalOperators_AssignmentMem_Test -
class EvalOperators_AssignmentVectorRegister_Test -
class EvalOperators_Comparison_Test -
class EvalOperators_FloatArithmetic_Test -
class EvalOperators_InPlace_Test -
class EvalOperators_IntArithmetic_Test -
class EvalOperators_Logical_Test -
class EvalOperators_PointerArithmetic_Test -
class EvalOperators_UnaryBang_Test -
class EvalOperators_UnaryMinus_Test -
class EvalOperators_UnaryTilde_Test -
class ExecutionScope -
class ExprLanguage_FileNameToLanguage_Test -
class ExprNode -
class ExprNodeTest_ArrayAccess_Test -
class ExprNodeTest_Cast_Test -
class ExprNodeTest_DereferenceErrors_Test -
class ExprNodeTest_DereferenceReferencePointer_Test -
class ExprNodeTest_EvalIdentifier_Test -
class ExprNodeTest_LiteralChar_Test -
class ExprNodeTest_MemberAccess_Test -
class ExprNodeTest_PrettyDereference_Test -
class ExprNodeTest_PrettyTypeGetter_Test -
class ExprNodeTest_PrettyTypeMember_Test -
class ExprNodeTest_RustMemberAccess_Test -
class ExprNodeTest_Sizeof_Test -
class ExprParser -
class ExprParserTest -
class ExprParserTest_AccessorAtEnd_Test -
class ExprParserTest_AndOr_Test -
class ExprParserTest_ArrayAccess_Test -
class ExprParserTest_ArraySize_Test -
class ExprParserTest_Arrow_Test -
class ExprParserTest_BadAccessorMemberName_Test -
class ExprParserTest_BadRustArrays_Test -
class ExprParserTest_BadRustTuples_Test -
class ExprParserTest_BinaryOp_Test -
class ExprParserTest_Block_Test -
class ExprParserTest_CTernaryIf_Test -
class ExprParserTest_CVariableDecl_Test -
class ExprParserTest_CWhileLoop_Test -
class ExprParserTest_C_Cast_Test -
class ExprParserTest_Comments_Test -
class ExprParserTest_Comparison_Test -
class ExprParserTest_CppCast_Test -
class ExprParserTest_CppOperators_Test -
class ExprParserTest_DereferenceAndAddress_Test -
class ExprParserTest_DoLoop_Test -
class ExprParserTest_DotNumberNoHex_Test -
class ExprParserTest_DotNumberNoRust_Test -
class ExprParserTest_DotNumber_Test -
class ExprParserTest_Dot_Test -
class ExprParserTest_Empty_Test -
class ExprParserTest_ForLoop_Test -
class ExprParserTest_FromStringError_Test -
class ExprParserTest_FunctionCall_Test -
class ExprParserTest_Identifier_Test -
class ExprParserTest_Identifiers_Test -
class ExprParserTest_If_Test -
class ExprParserTest_IntegerLiterals_Test -
class ExprParserTest_LocalVarAccess_Test -
class ExprParserTest_NamesWithSymbolLookup_Test -
class ExprParserTest_NestedDotArrow_Test -
class ExprParserTest_Parens_Test -
class ExprParserTest_ParseIdentifier_Test -
class ExprParserTest_RustCast_Test -
class ExprParserTest_RustIfLet_Test -
class ExprParserTest_RustLoop_Test -
class ExprParserTest_RustVariableDecl_Test -
class ExprParserTest_RustWhileLoop_Test -
class ExprParserTest_Shift_Test -
class ExprParserTest_SpecialIdentifiers_Test -
class ExprParserTest_StringLiterals_Test -
class ExprParserTest_Templates_Test -
class ExprParserTest_TrueFalse_Test -
class ExprParserTest_Types_Test -
class ExprParserTest_UnaryMath_Test -
class ExprParserTest_UnexpectedInput_Test -
class ExprTest_BuiltinFunctionCall_Test -
class ExprTest_CConditions_Test -
class ExprTest_CForLoop_Test -
class ExprTest_CLocalVars_Test -
class ExprTest_LogicalAndShortCircuit_Test -
class ExprTest_LogicalOrShortCircuit_Test -
class ExprTest_RustConditions_Test -
class ExprTest_RustIfLet_Test -
class ExprTest_RustLocalVars_Test -
class ExprTest_RustWhileLoop_Test -
class ExprTest_ValueToAddressAndSize_Test -
class ExprTest_VoidPointerArithmetic_Test -
class ExprToken -
class ExprTokenRecord -
class ExprTokenizer -
class ExprTokenizer_CStrings_Test -
class ExprTokenizer_Comments_Test -
class ExprTokenizer_Empty_Test -
class ExprTokenizer_Floats_Test -
class ExprTokenizer_GetErrorContext_Test -
class ExprTokenizer_Integers_Test -
class ExprTokenizer_InvalidChar_Test -
class ExprTokenizer_IsNameToken_Test -
class ExprTokenizer_Keywords_Test -
class ExprTokenizer_Language_Test -
class ExprTokenizer_LessGreater_Test -
class ExprTokenizer_Names_Test -
class ExprTokenizer_OtherLiterals_Test -
class ExprTokenizer_Punctuation_Test -
class ExprTokenizer_RustLifetime_Test -
class ExprTokenizer_RustStrings_Test -
class ExprTokenizer_RustTupleAccess_Test -
class ExprTokenizer_Tilde_Test -
class ExprValue -
class ExprValueSource -
class ExprValueSource_SetBits_Test -
class ExprValue_PromoteTo_Test -
class ExprValue_StreamOut_Test -
class FfxDebugAgentBridge -
class FileLine -
class FileMemoryRegion -
class FileUtil_CatPathComponents_Test -
class FileUtil_ExtractLastFileComponent_Test -
class FileUtil_GetFileModificationTime_Test -
class FileUtil_IsPathAbsolute_Test -
class FileUtil_NormalizePath_Test -
class FileUtil_PathEndsWith_Test -
class FileUtil_PathRelativeTo_Test -
class FileUtil_PathStartsWith_Test -
class Filter -
class FilterObserver -
class FilterTest_SetFilters_Test -
class FilterTest_SetTypeSetting_Test -
class FindLine_AppendLineMatchesForInlineCalls_Multiple_Test -
class FindLine_AppendLineMatchesForInlineCalls_Test -
class FindLine_GetAllLineTableMatchesInUnitIgnoreInvalidFunctions_Reverse_Test -
class FindLine_GetAllLineTableMatchesInUnitIgnoreInvalidFunctions_Test -
class FindLine_GetAllLineTableMatchesInUnit_Reverse_Test -
class FindLine_GetAllLineTableMatchesInUnit_Test -
class FindLine_GetBestLineMatches_Test -
class FindLine_GetFunctionPrologueSize_Marked_Test -
class FindLine_GetFunctionPrologueSize_NoContent_Test -
class FindLine_GetFunctionPrologueSize_NotFound_Test -
class FindLine_GetFunctionPrologueSize_ZeroRows_Test -
class FindNameContext -
class FindNameOptions -
class FindName_ElfSymbol_Test -
class FindName_FindAnonUnion_Test -
class FindName_FindIndexedNameInModule_Test -
class FindName_FindIndexedName_Test -
class FindName_FindLocalVariable_Test -
class FindName_FindMemberOnThis_Test -
class FindName_FindMember_Test -
class FindName_FindNamespace_Test -
class FindName_FindRecursiveNamespace_Test -
class FindName_FindTemplateName_Test -
class FindName_FindTypeName_Test -
class FindName_FindType_Test -
class FinishPhysicalFrameThreadController -
class FinishPhysicalFrameThreadControllerTest_BottomStackFrame_Test -
class FinishPhysicalFrameThreadControllerTest_FinishToInline_Test -
class FinishPhysicalFrameThreadControllerTest_Finish_Test -
class FinishThreadController -
class FinishThreadControllerTest_FinishInline_Test -
class FinishThreadControllerTest_FinishPhysicalAndInline2_Test -
class FinishThreadControllerTest_FinishPhysicalAndInline_Test -
class FinishThreadControllerTest_FinishToCompilerGenerated_Test -
class FormatAsmOpts -
class FormatContext_FormatAsmContext_Test -
class FormatContext_FormatSourceContext_LineOffEnd_Test -
class FormatContext_FormatSourceContext_OffBeginning_Test -
class FormatContext_FormatSourceContext_OffEnd_Test -
class FormatContext_FormatSourceContext_Test -
class FormatContext_FormatSourceFileContext_FileName_Test -
class FormatContext_FormatSourceFileContext_Stale_Test -
class FormatContext_FormatSourceLineC_Test -
class FormatContext_FormatSourceLineComment_Test -
class FormatContext_FormatSourceLineNoLang_Test -
class FormatContext_FormatSourceLineRust_Test -
class FormatContext_Octothorpe_Test -
class FormatException_Arm64ExceptionToString_Test -
class FormatException_X64ExceptionToString_Test -
class FormatFrameOptions -
class FormatFrameTest_FormatStack_Test -
class FormatFrameTest_Inline_Test -
class FormatFrameTest_Unsymbolized_Test -
class FormatFunctionNameOptions -
class FormatHandle_BasicDetails_Test -
class FormatHandle_Table_Test -
class FormatHandle_VmoDetails_Test -
class FormatIdentifierOptions -
class FormatLocationOptions -
class FormatLocation_FormatFileLine_Test -
class FormatLocation_FormatLocation_ELF_Test -
class FormatLocation_FormatLocation_Function_Test -
class FormatName_ClangLambda_Test -
class FormatName_EscapeComponent_Test -
class FormatName_FormatIdentifier_Test -
class FormatName_FormatSpecialIdentifier_Test -
class FormatName_GCCLambda_Test -
class FormatName_Operators_Test -
class FormatName_Regular_Test -
class FormatName_RustClosure_Test -
class FormatNode -
class FormatNodeConsole_Array_Test -
class FormatNodeConsole_Collection_Test -
class FormatNodeConsole_Pointer_Test -
class FormatNodeConsole_Reference_Test -
class FormatNodeConsole_SimpleValue_Test -
class FormatNodeConsole_String_Test -
class FormatOptions -
class FormatRegisterOptions -
class FormatRegisters_AllRegisters_Test -
class FormatRegisters_CPSRValues_Test -
class FormatRegisters_DebugRegisters_arm64_Test -
class FormatRegisters_DebugRegisters_x86_Test -
class FormatRegisters_GeneralRegisters_Test -
class FormatRegisters_RFlagsValuesExtended_Test -
class FormatRegisters_RFlagsValues_Test -
class FormatRegisters_VectorRegistersARM_Test -
class FormatRegisters_VectorRegistersX64_Test -
class FormatRegisters_WithRflags_Test -
class FormatSettingTest_ExecutionScope_Test -
class FormatSettingTest_InputLocations_Test -
class FormatSettingTest_List_Test -
class FormatSettingTest_Setting_Test -
class FormatSourceOpts -
class FormatStackOptions -
class FormatSymbolOptions -
class FormatSymbol_BaseType_Test -
class FormatSymbol_CallSite_Test -
class FormatSymbol_Collection_Test -
class FormatSymbol_Variable_Test -
class FormatTable_Basic_Test -
class FormatTest_BadStrings_Test -
class FormatTest_Bool_Test -
class FormatTest_Char_Test -
class FormatTest_DerivedClasses_Test -
class FormatTest_EmptyAndBadArray_Test -
class FormatTest_Enumeration_Test -
class FormatTest_Float_Test -
class FormatTest_FunctionPtr_Test -
class FormatTest_GoodStrings_Test -
class FormatTest_MemberPtr_Test -
class FormatTest_NullptrT_Test -
class FormatTest_Pointer_Test -
class FormatTest_Reference_Test -
class FormatTest_RustEnum_Test -
class FormatTest_RustTuple_Test -
class FormatTest_Signed_Test -
class FormatTest_StructStatic_Test -
class FormatTest_Struct_Anon_Test -
class FormatTest_Struct_Artificial_Test -
class FormatTest_Structs_Test -
class FormatTest_TruncatedArray_Test -
class FormatTest_TruncatedString_Test -
class FormatTest_Union_Test -
class FormatTest_Unsigned_Test -
class FormatTest_Void_Test -
class FormatValueConsoleTest_Collection_Test -
class FormatValueConsoleTest_FormatExpressionsForConsole_Test -
class FormatValueConsoleTest_NestingLimits_Test -
class FormatValueConsoleTest_RustCollectionName_Test -
class FormatValueConsoleTest_RustEnum_Test -
class FormatValueConsoleTest_RustTuple_Test -
class FormatValueConsoleTest_RustVector_Test -
class FormatValueConsoleTest_SimpleSync_Test -
class FormatValueConsoleTest_Wrapping_Test -
class FormatValueConsole_Wrapper_Test -
class FoundMember -
class FoundName -
class Frame -
class FrameFingerprint -
class FrameFingerprint_Newer_Test -
class FrameImpl -
class FrameImplRegisterTest -
class FrameImplRegisterTest_AlwaysRequest_Test -
class FrameImplRegisterTest_UpdateRegister_Test -
class FrameImplTest -
class FrameImplTest_AsyncBasePointer_Test -
class FrameSymbolDataProvider -
class Function -
class FunctionCallExprNode -
class FunctionCallInfo -
class FunctionReturnInfo -
class FunctionThreadController -
class FunctionThreadControllerTest_UnsymbolizedPltCallStepInto_Test -
class FunctionThreadControllerTest_UnsymbolizedPltCallStepOver_Test -
class FunctionType -
class FunctionType_ComputeFullName_Test -
class FuntionCallInfo -
class FuzzyMatcher -
class GetLittleEndianHexOutput_Lengths_Test -
class IdentifierBase -
class IdentifierComponent -
class IdentifierExprNode -
class IdentifierGlob -
class IdentifierGlob_EmptyTemplates_Test -
class IdentifierGlob_Exact_Test -
class IdentifierGlob_LiteralStarTemplate_Test -
class IdentifierGlob_LiteralTemplate_Test -
class IdentifierGlob_MatchAnyNamespace_Test -
class IdentifierGlob_OneTemplate_Test -
class IdentifierGlob_StarLiteralTemplate_Test -
class IdentifierGlob_TwoTemplate_Test -
class Identifier_GetName_Test -
class Identifier_GetScope_Test -
class Index -
class IndexNode -
class IndexNode_DeDupeNamespace_Test -
class IndexNode_DeDupeType_Test -
class IndexNode_MergeFrom_Test -
class IndexWalker -
class IndexWalker_ComponentMatchesNameOnly_Test -
class IndexWalker_ComponentMatchesTemplateOnly_Test -
class IndexWalker_ComponentMatches_Test -
class IndexWalker_IsIndexStringBeyondName_Test -
class IndexWalker_WalkIntoAnonNS_Test -
class IndexWalker_WalkIntoMultiple_Test -
class IndexWalker_WalkInto_Test -
class Index_FindExactFunction_Test -
class Index_FindFileMatches_Test -
class Index_FindFilePrefixes_Test -
class Index_Fission_Test -
class Index_IndexDump_Test -
class Index_IndexDwo_Test -
class InetUtil_Ipv6HostPortIsMissingBrackets_Test -
class InetUtil_ParseHostPort_Test -
class InheritancePath -
class InheritedFrom -
class InlineThreadControllerTest -
class InputLocation -
class InputLocationParserTest_CompleteInputLocation_Test -
class InputLocationParserTest_EvalGlobalInputLocation_Test -
class InputLocationParserTest_ParseLocalInputLocation_Test -
class InputLocationParserTest_ResolveInputLocation_Test -
class IntegerPrefix -
class IntegerSuffix -
class JoinCallbacks -
class JoinCallbacks -
class JoinCallbacksBase -
class JoinCallbacks_AbandonAfterReady_Test -
class JoinCallbacks_MoveOnly_Test -
class JoinCallbacks_NoParam_Test -
class JoinCallbacks_TwoCallbacks_Test -
class JoinErrCallbacks -
class JoinErrCallbacks_FirstFail_Test -
class JoinErrCallbacks_NoCallbacks_Test -
class JoinErrCallbacks_SecondFail_Test -
class JoinErrCallbacks_TwoSuccess_Test -
class LazySymbol -
class LazySymbolBase -
class Leb_AppendULeb_Test -
class LineDetails -
class LineMatch -
class LineTable -
class LineTableImpl -
class LineTable_GetRowForAddressLine0Bounds_Test -
class LineTable_GetRowForAddress_EndSequence_Test -
class LineTable_GetRowForAddress_Line0_Test -
class LineTable_GetRowForAddress_Test -
class LiteralExprNode -
class LoadedModuleSymbols -
class LocalAgentResult -
class LocalExprValue -
class LocalVarExprNode -
class Location -
class LoopExprNode -
class MapSettingStore -
class MapSettingStore_Defaults_Test -
class MapSettingStore_Fallback_Test -
class MapSettingStore_ListOptions_Test -
class MapSettingStore_Notifications_Test -
class MapSettingStore_Overrides_Test -
class MemberAccessExprNode -
class MemberPtr -
class MemberPtr_Data_Test -
class MemberPtr_Function_Test -
class MemberVisitStep -
class MemoryDump -
class MemoryDump_Empty_Test -
class MemoryDump_Limits_Test -
class MemoryDump_ReadBytesErrors_Test -
class MemoryDump_ReadBytes_Test -
class MemoryDump_Valid_Test -
class MemoryFormatOptions -
class MemoryFormat_Empty_Test -
class MemoryFormat_Limits_Test -
class MemoryFormat_Simple_Test -
class MinidumpMemory -
class MinidumpRemoteAPI -
class MinidumpTest -
class MinidumpTest_AddressSpace_Test -
class MinidumpTest_AttachDetach_Test -
class MinidumpTest_AttachFail_Test -
class MinidumpTest_Backtrace_Test -
class MinidumpTest_Load_Test -
class MinidumpTest_Modules_Test -
class MinidumpTest_ProcessTreeRecord_Test -
class MinidumpTest_ReadMemory_Empty_Test -
class MinidumpTest_ReadMemory_Short_Test -
class MinidumpTest_ReadMemory_Test -
class MinidumpTest_Registers_Test -
class MinidumpTest_SysInfo_Test -
class MinidumpTest_Threads_Test -
class MockBreakpoint -
class MockBreakpointLocation -
class MockConsole -
class MockEvalContext -
class MockExprNode -
class MockFrame -
class MockLineTable -
class MockModuleSymbols -
class MockProcess -
class MockRemoteAPI -
class MockRemoteAPIForRegister -
class MockSourceFileProvider -
class MockStackDelegate -
class MockSymbolDataProvider -
class MockSymbolDataProviderTest -
class MockSymbolDataProviderTest_MemReadRanges_Test -
class MockSymbolFactory -
class MockSymbolServer -
class MockTarget -
class MockThread -
class MockWriter -
class ModifiedType -
class ModifiedType_GetFullName_Test -
class ModifiedType_Strip_Test -
class ModuleIndexerResult -
class ModuleSymbolStatus -
class ModuleSymbols -
class ModuleSymbolsImpl -
class ModuleSymbols_BadFileType_Test -
class ModuleSymbols_Basic_Test -
class ModuleSymbols_ElfSymbols_Test -
class ModuleSymbols_FissionAddress_Test -
class ModuleSymbols_GetMappedLength_Test -
class ModuleSymbols_IndexFission_Test -
class ModuleSymbols_LineDetailsForAddress_Test -
class ModuleSymbols_NonExistantFile_Test -
class ModuleSymbols_OffEnd_Test -
class ModuleSymbols_ResolveGlobalVariable_Test -
class ModuleSymbols_ResolveLineInputLocation_Await_Test -
class ModuleSymbols_ResolveLineInputLocation_Inlines_Test -
class ModuleSymbols_ResolveLineInputLocation_Test -
class ModuleSymbols_ResolveMainFunction_Test -
class ModuleSymbols_ResolvePLTEntry_Test -
class ModuleSymbols_SkipPrologue_Test -
class ModuleSymbols_StrippedElfSymbols_Test -
class Namespace -
class NestedCommandContext -
class NounRecord -
class NounsTest_BreakpointList_Test -
class NounsTest_FilterTest_Test -
class NumberParser_ExtractIntegerPrefix_Test -
class NumberParser_ExtractIntegerSuffix_Test -
class NumberParser_GetFloatTokenLength_Test -
class NumberParser_StringToNumber_Test -
class NumberParser_StripFloatSuffix_Test -
class NumberParser_ValueForFloatToken_Test -
class OfflineCommandContext -
class OneStackUsage -
class OperatorKeywordResult -
class OperatorKeyword_Parse_Test -
class OutputBuffer -
class OutputBuffer_TrimTrailingNewlines_Test -
class ParseSpecialIdentifier_ContentsEscaping_Test -
class ParseSpecialIdentifier_Name_Test -
class ParseSpecialIdentifier_NoName_Test -
class ParseString_Char_Test -
class ParseString_DoesBeginStringLiteral_C_Test -
class ParseString_DoesBeginStringLiteral_Rust_Test -
class ParseString_EscapedC_Test -
class ParseString_EscapedRust_Test -
class ParseString_RawC_Test -
class ParseString_RawRust_Test -
class ParseString_RustLifetime_Test -
class ParsedIdentifierComponent -
class ParsedIdentifier_GetName_Test -
class ParsedIdentifier_ToIdentifier_Test -
class ParsedIdentifier_ToParsedIdentifier_Test -
class ParsedSetCommand -
class PermissiveInputLocation_ExpandAndResolve_Test -
class PrettyArray -
class PrettyFrameGlob -
class PrettyFrameGlob_Matches_Test -
class PrettyGenericContainer -
class PrettyHeapString -
class PrettyIterator -
class PrettyOptional -
class PrettyPointer -
class PrettyRecursiveVariant -
class PrettyRustTuple -
class PrettyRustTupleTest_Status_Test -
class PrettyRustTupleTest_TupleStruct_Test -
class PrettyRustTupleTest_Tuple_Test -
class PrettyRustZirconStatus -
class PrettyStackManager -
class PrettyStackManager_DefaultMatchersCpp_Test -
class PrettyStackManager_DefaultMatchersRust_Test -
class PrettyStackManager_GetMatchAt_Test -
class PrettyStackManager_ProcessStack_Test -
class PrettyStackManager_StackGlobMatchesAt_Test -
class PrettyStdString -
class PrettyStringTest_StdStringLong_Test -
class PrettyStringTest_StdStringShortMaximallyOptimized_Test -
class PrettyStringTest_StdStringShortTooOptimized_Test -
class PrettyStringTest_StdStringShort_Test -
class PrettyStruct -
class PrettyType -
class PrettyTypeManager -
class PrettyTypeManagerTest_RustStringObject_Test -
class PrettyTypeManagerTest_RustStringSlice_Test -
class PrettyTypeManagerTest_StdVector_Test -
class PrettyTypeManagerTest_ZxStatusT_Test -
class PrettyTypeTest_PrettyGenericContainer_Test -
class PrettyTypeTest_PrettyWrappedValue_Test -
class PrettyTypeTest_RecursiveVariant_Test -
class PrettyWrappedValue -
class PrettyZxStatusT -
class Process -
class ProcessDetachTest_TerminatedEvent_Test -
class ProcessImpl -
class ProcessImplTest_GetTLSHelpers_Test -
class ProcessImplTest_OnModules_Test -
class ProcessImplTest_ReadMemoryAutomation_Test -
class ProcessObserver -
class ProcessSymbolDataProvider -
class ProcessSymbolDataProviderTest -
class ProcessSymbolDataProviderTest_GetTLSSegment_Test -
class ProcessSymbols -
class ProcessSymbolsTestSetup -
class ProcessSymbols_ModuleLength_Test -
class ProcessSymbols_SetModules_Probe_Test -
class ProcessSymbols_SetModules_Test -
class RemoteAPI -
class RemoteAPIImpl -
class RemoteAPITest -
class RequestAttachTest_AttachProcessName_Test -
class RequestBreakpointTest_SetBreakpointsWithNoPathSet_Test -
class RequestBreakpointTest_SetBreakpointsWithNonCanonicalPath_Test -
class RequestBreakpointTest_SetBreakpointsWithRelativePath_Test -
class RequestBreakpointTest_SetBreakpoints_Test -
class RequestBreakpointTest_UpdateBreakpoints_Test -
class RequestContinueTest_ContinueSingleThread_Test -
class RequestContinueTest_ContinueSystem_Test -
class RequestLaunchTest_LaunchInTerminal_Test -
class RequestLaunchTest_LaunchNoTerminal_Test -
class RequestNextTest_NextStatement_Test -
class RequestPauseTest_PauseThread_Test -
class RequestScopesTest -
class RequestScopesTest_NoSymbolError_Test -
class RequestScopesTest_Success_Test -
class RequestStackTraceTest_ElideFrames_Test -
class RequestStackTraceTest_FullFrameAvailable_Test -
class RequestStackTraceTest_PaginationAllFrames_Test -
class RequestStackTraceTest_PaginationOutOfBoundsStartIndex_Test -
class RequestStackTraceTest_PaginationTooManyFramesRequested_Test -
class RequestStackTraceTest_Pagination_Test -
class RequestStackTraceTest_SyncFramesRequired_Test -
class RequestStepInTest_StepInSuccess_Test -
class RequestStepOutTest_StepOutSuccess_Test -
class RequestThreadsTest_ListThreadsForMultipleProcess_Test -
class RequestThreadsTest_ListThreads_Test -
class RequestVariablesTest -
class RequestVariablesTest_LocalsNoChildren_Test -
class ResolveArrayTest_CoercePointerToArrayOfSize_Test -
class ResolveArrayTest_CoerceStaticArraySize_Test -
class ResolveArrayTest_Invalid_Test -
class ResolveArrayTest_PrettyArray_Test -
class ResolveArrayTest_ResolvePointer_Test -
class ResolveArrayTest_ResolveVectorRegister_Test -
class ResolveBase_PromotePtrRefToDerived_NoVtable_Test -
class ResolveBase_PromotePtrRefToDerived_Test -
class ResolveCollectionTest_BadMemberAccess_Test -
class ResolveCollectionTest_BadMemberArgs_Test -
class ResolveCollectionTest_BaseClass_Test -
class ResolveCollectionTest_ConstValue_Test -
class ResolveCollectionTest_ExternStaticMember_Test -
class ResolveCollectionTest_ForwardDefBase_Test -
class ResolveCollectionTest_ForwardDefMember_Test -
class ResolveCollectionTest_ForwardDefinitionPtr_Test -
class ResolveCollectionTest_GoodMemberAccess_Test -
class ResolveCollectionTest_ResolveVirtualDerivedMemberByPtr_Test -
class ResolveCollectionTest_RustTuples_Test -
class ResolveCollectionTest_VirtualInheritance_Test -
class ResolveOptions -
class ResolvePtrRefTest_ConstRef_Test -
class ResolvePtrRefTest_Derived_Test -
class ResolvePtrRefTest_GetPointedToType_Good_Test -
class ResolvePtrRefTest_GetPointedToType_NoPointedToType_Test -
class ResolvePtrRefTest_GetPointedToType_NotPointer_Test -
class ResolvePtrRefTest_GetPointedToType_Null_Test -
class ResolvePtrRefTest_InvalidMemory_Test -
class ResolvePtrRefTest_NotPointer_Test -
class ResolvePtrRefTest_NotRef_Test -
class ResolveType_GetConcreteType_Test -
class ResolveType_TypedefCycle_Test -
class ResolveVariant_DefaultValue_Test -
class ResolveVariant_TwoValues_Test -
class ReturnValue_BaseTypeARM64_Test -
class ReturnValue_BaseTypeX64_Test -
class ReturnValue_CollectionByRefX64_Test -
class ReturnValue_CollectionByValueARM64_Test -
class ReturnValue_CollectionByValueX64_Test -
class ReturnValue_Enum_Test -
class ReturnValue_Pointer_Test -
class ScopedTempFile -
class ScriptTest -
class Session -
class SessionConnected -
class SessionConnectionInfo -
class SessionEnded -
class SessionObserver -
class SessionRaw_ArchOnInit_Test -
class SessionStarted -
class SessionSymbolsImpl -
class SessionTest_AutoAttachToLimboProcess_Test -
class SessionTest_BreakpointStopNone_Test -
class SessionTest_DisableAutoAttachToLimbo_Test -
class SessionTest_FilterExistingProcesses_Test -
class SessionTest_MultiBreakpointStop_Test -
class SessionTest_NoAutoAttachToLimboByDefault_Test -
class SessionTest_OneShotBreakpointDelete_Test -
class SessionTest_StatusRequest_Test -
class SettingSchema -
class SettingSchema_Bool_Test -
class SettingSchema_Int_Test -
class SettingSchema_ListWithOptions_Test -
class SettingSchema_List_Test -
class SettingSchema_StringWithOptions_Test -
class SettingSchema_String_Test -
class SettingStore -
class SettingStoreObserver -
class SettingValue -
class SettingValue_Boolean_Test -
class SettingValue_Int_Test -
class SettingValue_List_Test -
class SettingValue_String_Test -
class SizeofExprNode -
class SkeletonUnit -
class SourceFileProvider -
class SourceFileProviderImpl -
class SourceUtil_ExtractSourceLines_Test -
class SourceUtil_SourceFileProviderImpl_Test -
class Stack -
class StackTest_IndexForFrame_Test -
class StackTest_InlineExpansion_Test -
class StackTest_InlineFingerprint_Test -
class StackTest_InlineHiding_Test -
class StackTest_InlineVars_Test -
class StackTest_SymbolizeFrameAddress_Test -
class StackTest_UpdateExisting_Test -
class StepIntoSpecificThreadController -
class StepIntoSpecificThreadControllerTest -
class StepIntoSpecificThreadControllerTest_Step_Test -
class StepIntoThreadController -
class StepIntoThreadControllerTest_Inline_Test -
class StepIntoThreadControllerTest_NoStack_Test -
class StepIntoThreadControllerTest_SkipPrologue_Test -
class StepIntoThreadControllerTest_WithPrologue_Test -
class StepOverThreadController -
class StepOverThreadControllerTest -
class StepOverThreadControllerTest_Inline_Test -
class StepOverThreadControllerTest_OutToZeroLine_Test -
class StepOverThreadControllerTest_Range_Test -
class StepThreadController -
class StepThreadControllerTest -
class StepThreadControllerTest_AmbiguousInline_Test -
class StepThreadControllerTest_IntoInlineNextLine_Test -
class StepThreadControllerTest_IntoInlineSameLine_Test -
class StepThreadControllerTest_Line0_Test -
class StepThreadControllerTest_SofwareException_Test -
class StepThreadControllerTest_StepOut_Test -
class StepThreadControllerTest_StepThroughLine0_Test -
class StepThroughPltThreadController -
class StepThroughPltThreadControllerTest_NoDest_Test -
class StopInfo -
class StringOrCharLiteralBegin -
class StringUtil_UnicodeCharWidth_Test -
class SubstatementCall -
class SubstatementTest_GetSubstatementCallsForLine_Line0_Test -
class SubstatementTest_GetSubstatementCallsForLine_WithInlines_Test -
class SwitchRecord -
class Symbol -
class SymbolContext -
class SymbolDataProvider -
class SymbolDataProviderTest_GetRegisters_Test -
class SymbolFactory -
class SymbolServer -
class SymbolServerImpl -
class SymbolServerTest -
class SymbolServerTest_DownloadTypes_Test -
class SymbolServerTest_LoadAuth_Test -
class SymbolTestContainingBlockSetter -
class SymbolTestParentSetter -
class SymbolUtils_AddCVQualifiersToMatch_Test -
class SymbolUtils_GetSymbolScopePrefix_Test -
class SymbolUtils_SymbolScopeFunctions_Test -
class Symbol_GetSymbolContext_Test -
class Symbol_LazyThis_Test -
class System -
class SystemObserver -
class SystemSymbols -
class SystemTest_ExistenProcessShouldCreateTarget_Test -
class SystemTest_FilterMatchesAndRematching_Test -
class SystemTest_GlobalContinue_Test -
class SystemTest_UpdateSecondChanceExceptions_Test -
class SystemTest_UpdateSourceCodeContextLines_Test -
class TaggedData -
class TaggedDataBuilder -
class TaggedData_AllValidBuilder_Test -
class TaggedData_AllValid_Test -
class TaggedData_SomeInvalid_Test -
class TaggedData_ToString_Test -
class Target -
class TargetImpl -
class TargetImplTest_AttachDetach_Test -
class TargetImplTest_LaunchKill_Test -
class TargetImplTest_LaunchNoConnection_Test -
class TargetObserver -
class TargetSymbols -
class TargetSymbols_FindFileMatches_Test -
class TargetSymbols_GetShortestUniqueName_Test -
class TemplateParameter -
class TemplateTypeExtractor_Basic_Test -
class TemplateTypeExtractor_OtherOperator_Test -
class TemplateTypeExtractor_WeirdAngleBrackets_Test -
class TemplateTypeExtractor_WeirdCommas_Test -
class TemplateTypeResult -
class TestEvalContextImpl -
class TestFailureStackMatcher -
class TestFailureStackMatcher_MatchGtest_Test -
class TestFailureStackMatcher_MatchRustAssertEq_Test -
class TestFailureStackMatcher_MatchRustAssert_Test -
class TestFailureStackMatcher_NoMatch_Test -
class TestIndexedGlobalVariable -
class TestIndexedSymbol -
class TestPipe -
class TestSymbolModule -
class TestThreadObserver -
class Thread -
class ThreadController -
class ThreadControllerTest -
class ThreadControllerUnitTest_SetInlineFrameIfAmbiguous_Test -
class ThreadImpl -
class ThreadImplTest_ContinueOverException_Test -
class ThreadImplTest_ContinueWithTestProcess_Test -
class ThreadImplTest_ControllersUnexpected_Test -
class ThreadImplTest_ControllersWithGeneralException_Test -
class ThreadImplTest_CurrentStopInfo_Test -
class ThreadImplTest_Frames_Test -
class ThreadImplTest_FutureThreadController_Test -
class ThreadImplTest_JumpTo_Test -
class ThreadImplTest_StopNoStack_Test -
class ThreadObserver -
class ThreadStackUsage -
class Type -
class TypeExprNode -
class UnaryOpExprNode -
class UncachedLazySymbol -
class UnitIndex -
class UnitSymbolFactory -
class UntilThreadController -
class UntilThreadControllerTest_Basic_Test -
class Value -
class Variable -
class VariableDeclExprNode -
class VariableDeclTypeInfo -
class VariableDecl_CAutoTypeInfo_Test -
class VariableDecl_ExplicitType_Test -
class VariableDecl_RustAutoTypeInfo_Test -
class VariableLocation -
class VariableLocation_EntryForIP_Test -
class VariableLocation_EntryInRange_Test -
class VariableResponseContext -
class VariablesRecord -
class Variant -
class VariantPart -
class VectorRegisterFormat_VectorRegisterToValue_Test -
class VerbAspace_AspaceLimit_Test -
class VerbAspace_Aspace_Test -
class VerbAttach_Bad_Test -
class VerbAttach_Filter_Test -
class VerbAttach_KoidWeak_Test -
class VerbAttach_Koid_Test -
class VerbBreak_BackendError_Test -
class VerbBreak_Break_Test -
class VerbBreak_Conditional_Test -
class VerbBreak_ExpressionError_Test -
class VerbBreak_TransportError_Test -
class VerbBreak_WriteBreakpoint_Test -
class VerbClear_Clear_Test -
class VerbDetach_DetachAllReturnsToEmbedded_Test -
class VerbDetach_DetachAll_Test -
class VerbDetach_DetachReturnsToEmbeddedMode_Test -
class VerbDetach_DetachStaysInteractiveWithMultipleProcesses_Test -
class VerbDetach_Detach_Test -
class VerbDisassemble_PcRelative_Test -
class VerbDisassemble_Test_Test -
class VerbDisplay_RespectIntegerFormat_Test -
class VerbDisplay_Test_Test -
class VerbFinishTest_ReturnValue_Test -
class VerbNewRmTest_Breakpoint_Test -
class VerbNewRmTest_FilterAndJob_Test -
class VerbNewRmTest_Process_Test -
class VerbNewRmTest_Wildcard_Test -
class VerbPSTest_Filter_Test -
class VerbPrint_IntegerFormat_Test -
class VerbPrint_LanguagePreference_Test -
class VerbPrint_TypeOverrides_Test -
class VerbPrint_VectorRegisterFormat_Test -
class VerbQuit_QuitInEmbeddedMode_Test -
class VerbQuit_QuitNoProcs_Test -
class VerbQuit_QuitRunningProcs_Test -
class VerbRecord -
class VerbStackUsage_GetThreadStackUsage_Test -
class VerbStatus_ConnectionStatus_Test -
class VerbStatus_Status_Test -
class VerbSteps_Test_Test -
class VerbSymInfo_PLTFunctionInfo_Test -
class VerbSymInfo_SymInfo_Demangle_Test -
class VerbSymStat_SymStatDownloading_Test -
class VerbSymStat_SymStat_Test -
class VerbUp_Up_Test -
class VerbWatch_Nonexistant_Test -
class VerbWatch_Temporary_Test -
class VerbWatch_Value_Test -
class VerbsSettingsTest_GetSet_Test -
class VerbsSettingsTest_ParseExecutionScope_Test -
class VerbsSettings_ParseSetCommand_Test -
class VerbsStackData_Stack_Test -
class VirtualBaseTestSetup -
class VirtualInheritanceTestSetup -
class VisitScopes_ComplexHierarchy_Test -
class VisitScopes_NoHierarchy_Test -
class VmBytecodeForwardJump -
class VmBytecodeForwardJumpIfFalse -
class VmBytecodeForwardJumper -
class VmBytecodePushBreak -
class VmExecTest_AsyncCallback1_Test -
class VmExecTest_AsyncCallback2_Test -
class VmExecTest_BinaryOp_Test -
class VmExecTest_Callback1_Test -
class VmExecTest_Callback2_Test -
class VmExecTest_Drop_Test -
class VmExecTest_Dup_Test -
class VmExecTest_Empty_Test -
class VmExecTest_ExpandRef_Test -
class VmExecTest_JumpIfFalse_Test -
class VmExecTest_Jump_Test -
class VmExecTest_LocalVar_Test -
class VmExecTest_UnaryOp_Test -
class VmOp -
class VmOp_VmStreamToString_Test
Functions
-
std::vector<uint8_t> CreateData (size_t length)Defined at line 11 of file ../../src/developer/debug/zxdb/console/string_formatters_unittest.cc
-
dap::ResponseOrError<dap::SetBreakpointsResponse> OnRequestBreakpoint (DebugAdapterContext * ctx, const dap::SetBreakpointsRequest & req)Defined at line 15 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_breakpoint.cc
-
dap::ResponseOrError<dap::ContinueResponse> OnRequestContinue (DebugAdapterContext * ctx, const dap::ContinueRequest & request)Defined at line 13 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_continue.cc
-
void OnRequestNext (DebugAdapterContext * ctx, const dap::NextRequest & request, std::function<void (dap::ResponseOrError<dap::NextResponse>)> callback)Defined at line 12 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_next.cc
-
void OnRequestPause (DebugAdapterContext * ctx, const dap::PauseRequest & request, std::function<void (dap::ResponseOrError<dap::PauseResponse>)> callback)Defined at line 11 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_pause.cc
-
dap::ResponseOrError<dap::ScopesResponse> OnRequestScopes (DebugAdapterContext * ctx, const dap::ScopesRequest & req)Defined at line 24 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_scopes.cc
-
void OnRequestStepIn (DebugAdapterContext * ctx, const dap::StepInRequest & request, std::function<void (dap::ResponseOrError<dap::StepInResponse>)> callback)Defined at line 12 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_step_in.cc
-
void OnRequestStepOut (DebugAdapterContext * ctx, const dap::StepOutRequest & request, std::function<void (dap::ResponseOrError<dap::StepOutResponse>)> callback)Defined at line 12 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_step_out.cc
-
dap::ResponseOrError<dap::ThreadsResponse> OnRequestThreads (DebugAdapterContext * ctx, const dap::ThreadsRequest & req)Defined at line 13 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_threads.cc
-
VerbRecord GetAspaceVerbRecord ()Defined at line 244 of file ../../src/developer/debug/zxdb/console/commands/verb_aspace.cc
-
VerbRecord GetAsyncBacktraceVerbRecord ()Defined at line 865 of file ../../src/developer/debug/zxdb/console/commands/verb_async_backtrace.cc
-
VerbRecord GetAuthVerbRecord ()Defined at line 38 of file ../../src/developer/debug/zxdb/console/commands/verb_auth.cc
-
VerbRecord GetBacktraceVerbRecord ()Defined at line 127 of file ../../src/developer/debug/zxdb/console/commands/verb_backtrace.cc
-
VerbRecord GetBreakVerbRecord ()Defined at line 354 of file ../../src/developer/debug/zxdb/console/commands/verb_break.cc
-
VerbRecord GetClearVerbRecord ()Defined at line 85 of file ../../src/developer/debug/zxdb/console/commands/verb_clear.cc
-
VerbRecord GetClsVerbRecord ()Defined at line 32 of file ../../src/developer/debug/zxdb/console/commands/verb_cls.cc
-
VerbRecord GetConnectVerbRecord ()Defined at line 148 of file ../../src/developer/debug/zxdb/console/commands/verb_connect.cc
-
VerbRecord GetContinueVerbRecord ()Defined at line 111 of file ../../src/developer/debug/zxdb/console/commands/verb_continue.cc
-
VerbRecord GetDetachVerbRecord ()Defined at line 176 of file ../../src/developer/debug/zxdb/console/commands/verb_detach.cc
-
VerbRecord GetDisableVerbRecord ()Defined at line 76 of file ../../src/developer/debug/zxdb/console/commands/verb_disable.cc
-
VerbRecord GetDisassembleVerbRecord ()Defined at line 234 of file ../../src/developer/debug/zxdb/console/commands/verb_disassemble.cc
-
VerbRecord GetDisconnectVerbRecord ()Defined at line 39 of file ../../src/developer/debug/zxdb/console/commands/verb_disconnect.cc
-
VerbRecord GetDisplayVerbRecord ()Defined at line 134 of file ../../src/developer/debug/zxdb/console/commands/verb_display.cc
-
VerbRecord GetEnableVerbRecord ()Defined at line 75 of file ../../src/developer/debug/zxdb/console/commands/verb_enable.cc
-
VerbRecord GetExceptionInfoVerbRecord ()Defined at line 100 of file ../../src/developer/debug/zxdb/console/commands/verb_exception_info.cc
-
VerbRecord GetFinishVerbRecord ()Defined at line 71 of file ../../src/developer/debug/zxdb/console/commands/verb_finish.cc
-
VerbRecord GetHandleVerbRecord ()Defined at line 144 of file ../../src/developer/debug/zxdb/console/commands/verb_handle.cc
-
VerbRecord GetHelpVerbRecord ()Defined at line 507 of file ../../src/developer/debug/zxdb/console/commands/verb_help.cc
-
VerbRecord GetJumpVerbRecord ()Defined at line 72 of file ../../src/developer/debug/zxdb/console/commands/verb_jump.cc
-
VerbRecord GetKillVerbRecord ()Defined at line 55 of file ../../src/developer/debug/zxdb/console/commands/verb_kill.cc
-
VerbRecord GetLibsVerbRecord ()Defined at line 90 of file ../../src/developer/debug/zxdb/console/commands/verb_libs.cc
-
VerbRecord GetListVerbRecord ()Defined at line 273 of file ../../src/developer/debug/zxdb/console/commands/verb_list.cc
-
VerbRecord GetLocalsVerbRecord ()Defined at line 133 of file ../../src/developer/debug/zxdb/console/commands/verb_locals.cc
-
VerbRecord GetMemReadVerbRecord ()Defined at line 121 of file ../../src/developer/debug/zxdb/console/commands/verb_mem_read.cc
-
VerbRecord GetNewVerbRecord ()Defined at line 88 of file ../../src/developer/debug/zxdb/console/commands/verb_new.cc
-
VerbRecord GetNextVerbRecord ()Defined at line 68 of file ../../src/developer/debug/zxdb/console/commands/verb_next.cc
-
VerbRecord GetNextiVerbRecord ()Defined at line 72 of file ../../src/developer/debug/zxdb/console/commands/verb_nexti.cc
-
VerbRecord GetOpendumpVerbRecord ()Defined at line 103 of file ../../src/developer/debug/zxdb/console/commands/verb_opendump.cc
-
VerbRecord GetPauseVerbRecord ()Defined at line 211 of file ../../src/developer/debug/zxdb/console/commands/verb_pause.cc
-
VerbRecord GetPrintVerbRecord ()Defined at line 77 of file ../../src/developer/debug/zxdb/console/commands/verb_print.cc
-
VerbRecord GetPsVerbRecord ()Defined at line 183 of file ../../src/developer/debug/zxdb/console/commands/verb_ps.cc
-
VerbRecord GetQuitVerbRecord ()Defined at line 89 of file ../../src/developer/debug/zxdb/console/commands/verb_quit.cc
-
VerbRecord GetRegsVerbRecord ()Defined at line 246 of file ../../src/developer/debug/zxdb/console/commands/verb_regs.cc
-
VerbRecord GetRmVerbRecord ()Defined at line 115 of file ../../src/developer/debug/zxdb/console/commands/verb_rm.cc
-
VerbRecord GetRunVerbRecord ()Defined at line 94 of file ../../src/developer/debug/zxdb/console/commands/verb_run.cc
-
VerbRecord GetRunComponentVerbRecord ()Defined at line 86 of file ../../src/developer/debug/zxdb/console/commands/verb_run_component.cc
-
VerbRecord GetRunTestVerbRecord ()Defined at line 111 of file ../../src/developer/debug/zxdb/console/commands/verb_run_test.cc
-
VerbRecord GetSaveDumpVerbRecord ()Defined at line 97 of file ../../src/developer/debug/zxdb/console/commands/verb_savedump.cc
-
VerbRecord GetStackDataVerbRecord ()Defined at line 123 of file ../../src/developer/debug/zxdb/console/commands/verb_stack_data.cc
-
VerbRecord GetStderrVerbRecord ()Defined at line 23 of file ../../src/developer/debug/zxdb/console/commands/verb_stderr.cc
-
VerbRecord GetStepVerbRecord ()Defined at line 117 of file ../../src/developer/debug/zxdb/console/commands/verb_step.cc
-
VerbRecord GetStepiVerbRecord ()Defined at line 73 of file ../../src/developer/debug/zxdb/console/commands/verb_stepi.cc
-
VerbRecord GetSymDebugVerbRecord ()Defined at line 379 of file ../../src/developer/debug/zxdb/console/commands/verb_sym_debug.cc
-
VerbRecord GetSymInfoVerbRecord ()Defined at line 167 of file ../../src/developer/debug/zxdb/console/commands/verb_sym_info.cc
-
VerbRecord GetSymNearVerbRecord ()Defined at line 72 of file ../../src/developer/debug/zxdb/console/commands/verb_sym_near.cc
-
VerbRecord GetSymSearchVerbRecord ()Defined at line 237 of file ../../src/developer/debug/zxdb/console/commands/verb_sym_search.cc
-
VerbRecord GetSymStatVerbRecord ()Defined at line 204 of file ../../src/developer/debug/zxdb/console/commands/verb_sym_stat.cc
-
VerbRecord GetSysInfoVerbRecord ()Defined at line 59 of file ../../src/developer/debug/zxdb/console/commands/verb_sys_info.cc
-
VerbRecord GetUntilVerbRecord ()Defined at line 138 of file ../../src/developer/debug/zxdb/console/commands/verb_until.cc
-
VerbRecord GetUpVerbRecord ()Defined at line 77 of file ../../src/developer/debug/zxdb/console/commands/verb_up.cc
-
VerbRecord GetWatchVerbRecord ()Defined at line 131 of file ../../src/developer/debug/zxdb/console/commands/verb_watch.cc
-
void OnRequestEvaluate (DebugAdapterContext * ctx, const dap::EvaluateRequest & req, const std::function<void (dap::ResponseOrError<dap::EvaluateResponse>)> & callback)Defined at line 13 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_evaluate.cc
-
void OnRequestTerminate (DebugAdapterContext * ctx, const dap::TerminateRequest & req, const std::function<void (dap::ResponseOrError<dap::TerminateResponse>)> & callback)Defined at line 13 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_terminate.cc
-
template <typename ResultType>fpromise::promise<ResultType, Err> MakeErrPromise (Err err)Helper for creating an error promise. This is used when the error is synchronously known in
a function that returns a promise.
Defined at line 16 of file ../../src/developer/debug/zxdb/common/async_util.h
-
dap::StackTraceResponse PopulateStackTraceResponse (DebugAdapterContext * ctx, Thread * thread, const dap::StackTraceRequest & req)Defined at line 16 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_stacktrace.cc
-
std::string GetSelfPath ()Returns the path (dir + file name) of the current executable.
Defined at line 19 of file ../../src/developer/debug/zxdb/common/host_util.cc
-
OutputBuffer FormatFilter (const ConsoleContext * context, const Filter * filter)Defined at line 19 of file ../../src/developer/debug/zxdb/console/format_filter.cc
-
std::ostream & operator<< (std::ostream & out, const LazySymbol & s)For outputting error messages for LineMatch.
Defined at line 20 of file ../../src/developer/debug/zxdb/symbols/find_line_unittest.cc
-
int RunLocalAgent (fbl::unique_fd read_pipe, fbl::unique_fd write_pipe)Defined at line 21 of file ../../src/developer/debug/zxdb/local_agent.cc
-
std::ostream & operator<< (std::ostream & out, const LineMatch & m)Defined at line 24 of file ../../src/developer/debug/zxdb/symbols/find_line_unittest.cc
-
ExprLanguage DwarfLangToExprLanguage (DwarfLang dwarf)All non-Rust languages are treated as C.
Defined at line 25 of file ../../src/developer/debug/zxdb/expr/expr_language.h
-
template <typename T, typename U>std::optional<std::string> DidYouMean (const std::string & candidate, const std::map<std::string, T> noun_choices, const std::map<std::string, U> verb_choices, size_t max_edit_distance)Returns a suggestion for what the user might have meant by candidate given the available choices.
The suggestion will be at most max_edit_distance away from the candidate.
Defined at line 25 of file ../../src/developer/debug/zxdb/console/did_you_mean.h
-
template <typename T, typename U, typename R = std::conditional_t<sizeof(T) >= sizeof(U), T, U>>std::optional<R> CheckedAdd (T lhs, U rhs)Returns the result of adding |lhs| and |rhs|. If the result overflows, then std::nullopt is
returned. The sizes of the types for |lhs| and |rhs| may differ. The returned value will be
stored in the larger of the two and is the type that must overflow for this function to return
std::nullopt.
Use it like:
uint64_t some_number = 0;
if (auto checked_sum = CheckedAdd(1, 2)) {
some_number = *checked_sum;
} else {
return Err("Overflow!");
}
Defined at line 26 of file ../../src/developer/debug/zxdb/common/checked_math.h
-
template <typename T>fxl::RefPtr<T> RefPtrTo (const T * pointer)Converts a raw pointer to a reference-counted type to a RefPtr.
Const and fxl::RefPtr don't play well together so this requires an awkward const_cast. Callers
should take care to preserve the const expectation of the caller.
In zxdb this is normally this is done for Symbol-derived classes which are const in their normal
usage anyway.
Example:
void Foo(const Type* type) {
fxl::RefPtr
<Type
> ref = RefPtrTo(type);
...
}
Defined at line 27 of file ../../src/developer/debug/zxdb/common/ref_ptr_to.h
-
void OnRequestVariables (DebugAdapterContext * ctx, const dap::VariablesRequest & req, const std::function<void (dap::ResponseOrError<dap::VariablesResponse>)> & callback)Defined at line 319 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_variables.cc
-
VerbRecord GetDownVerbRecord ()Defined at line 61 of file ../../src/developer/debug/zxdb/console/commands/verb_down.cc
-
std::unique_ptr<debug::BufferedFD> StreamFDToConsole (fbl::unique_fd fd, Console * console)Defined at line 14 of file ../../src/developer/debug/zxdb/console/fd_streamer.cc
-
OutputBuffer FormatTarget (ConsoleContext * context, const Target * target)Defined at line 30 of file ../../src/developer/debug/zxdb/console/format_target.cc
-
void VmExec (const fxl::RefPtr<EvalContext> & eval_context, VmStream stream, EvalCallback cb)Defined at line 570 of file ../../src/developer/debug/zxdb/expr/vm_exec.cc
-
char ** GetEnviron ()Returns the environment variables.
Defined at line 40 of file ../../src/developer/debug/zxdb/common/host_util.cc
-
std::string to_string (int128_t i)std::to_string version for this type (the standard library doesn't define it).
Defined at line 21 of file ../../src/developer/debug/zxdb/common/int128_t.cc
-
VerbRecord GetMemAnalyzeVerbRecord ()Defined at line 132 of file ../../src/developer/debug/zxdb/console/commands/verb_mem_analyze.cc
-
VerbRecord GetStdoutVerbRecord ()Defined at line 37 of file ../../src/developer/debug/zxdb/console/commands/verb_stdout.cc
-
OutputBuffer FormatTargetList (ConsoleContext * context, int indent)Defined at line 66 of file ../../src/developer/debug/zxdb/console/format_target.cc
-
void SyncFillAndDescribeFormatNode (const fxl::RefPtr<EvalContext> & eval_context, FormatNode * node, const FormatOptions & opts)Evaluates and describes a single given node synchronously, running the message loop if necessary.
This is not recursive.
Defined at line 28 of file ../../src/developer/debug/zxdb/expr/format_test_support.cc
-
std::string to_string (uint128_t i)Defined at line 13 of file ../../src/developer/debug/zxdb/common/int128_t.cc
-
VerbRecord GetAttachVerbRecord ()Defined at line 331 of file ../../src/developer/debug/zxdb/console/commands/verb_attach.cc
-
void OutputFrameInfoForChange (CommandContext * cmd_context, const Frame * frame, int id)Prints the message for up/down commands.
Defined at line 67 of file ../../src/developer/debug/zxdb/console/commands/verb_down.cc
-
std::string GetCurrentRowMarker ()Returns a string containing the marker for marking the current line. May be UTF-8 so size() could
be > 1, but it will only be one Unicode character.
Defined at line 9 of file ../../src/developer/debug/zxdb/console/string_util.cc
-
std::vector<std::string> ExtractSourceLines (const std::string & contents, int first_line, int last_line)Extracts the given ranges of lines from the source contents. Line numbers are
1-based and inclusive. This may do short reads if the file isn't large
enough. The first line must be at least 1 (sort reads can't work off the
beginning since the caller won't know what the first line is).
Defined at line 13 of file ../../src/developer/debug/zxdb/symbols/source_util.cc
-
void AppendULeb (uint64_t value, std::vector<uint8_t> * out)Appends the DWARWF unsigned "LEB128"-encoded value to the vector. This encoding is a UTF-8-like
variable-length integer encoding.
To decode, see DataExtractor::ReadUleb128();
Defined at line 9 of file ../../src/developer/debug/zxdb/common/leb.cc
-
OutputBuffer LoopUntilAsyncOutputBufferComplete (fxl::RefPtr<AsyncOutputBuffer> buffer)Runs the current message loop (which must already be set up on the current thread) until the
AsyncOutputBuffer is complete, and returns the result.
This should only be used in test code since it runs a nested message loop. For non-test code
normally you would do Console->Output() and it will get automatically written when the buffer is
complete.
Defined at line 11 of file ../../src/developer/debug/zxdb/console/async_output_buffer_test_util.cc
-
VerbRecord GetStepsVerbRecord ()Defined at line 112 of file ../../src/developer/debug/zxdb/console/commands/verb_steps.cc
-
OutputBuffer FormatFilterList (ConsoleContext * context, int indent)Formats the current filter list in a table.
Defined at line 58 of file ../../src/developer/debug/zxdb/console/format_filter.cc
-
const char * TargetStateToString (Target::State state)Defined at line 122 of file ../../src/developer/debug/zxdb/console/format_target.cc
-
const std::set<std::string> & AllKeywordsForLanguage (ExprLanguage language, bool permissive)Returns the set of all keywords for the given language. If "permissive" is set, the set will
include names that aren't strictly built-in but are commonly thought of as built-in, like
"int32_t" in C.
Defined at line 100 of file ../../src/developer/debug/zxdb/expr/keywords.cc
-
Identifier GetSymbolScopePrefix (const Symbol * symbol)This helper function gets the scope for the symbol. This includes class and namespace names and
will be glbally qualified, but does not include the name of the symbol itself. Use
Symbol::GetFullName() for that.
Defined at line 75 of file ../../src/developer/debug/zxdb/symbols/symbol_utils.cc
-
Err ConnectToHost (const std::string & host, uint16_t port, fbl::unique_fd * socket)If successful, |socket| will contain a valid socket fd.
This function will take care for differences each OS has when connecting through a socket.
Defined at line 151 of file ../../src/developer/debug/zxdb/client/socket_connect.cc
-
std::string_view ExtractLastFileComponent (std::string_view path)Extracts the substring into the given file path of the last path component (the stuff following
the last slash). If the path ends in a slash, it will return an empty StringView. If the input
has no slash, it will return the whole thing.
Defined at line 16 of file ../../src/developer/debug/zxdb/common/file_util.cc
-
size_t EditDistance (const std::string & lhs, const std::string & rhs)Returns the edit distance between the two strings.
Defined at line 12 of file ../../src/developer/debug/zxdb/console/did_you_mean.cc
-
std::string GetLittleEndianHexOutput (cpp20::span<const uint8_t> data)Obtains the value as a series of readable 32-bit separated hex values. This will interpret is as
little endian (first byte is less significant). Will left-zero-pad up to the closest upper 4-byte
multiple.
Defined at line 16 of file ../../src/developer/debug/zxdb/console/string_formatters.cc
-
std::ostream & operator<< (std::ostream & , const VmOp & op)Debug formatting capabilities.
Defined at line 19 of file ../../src/developer/debug/zxdb/expr/vm_op.cc
-
Err ParseHostPort (const std::string & in_host, const std::string & in_port, std::string * out_host, uint16_t * out_port)Parse |in_host,in_port|, storing the parsed values in |*out_host,*out_port|.
The only parsing done for |in_host| is to ensure it's non-empty, and if it is an IPv6 address
(i.e., it's wrapped in [], e.g., [::1]), then remove the outer [].
Defined at line 11 of file ../../src/developer/debug/zxdb/common/inet_util.cc
-
bool FormatCategoryARM64 (const FormatRegisterOptions & options, debug::RegisterCategory category, const std::vector<debug::RegisterValue> & registers, OutputBuffer * out)Does ARM64-specific formatting of the registesrs of a given category. Returns true if this
category was handled. False means there is no special ARM64 handling for this category.
Defined at line 248 of file ../../src/developer/debug/zxdb/console/format_register_arm64.cc
-
bool FormatCategoryX64 (const FormatRegisterOptions & options, debug::RegisterCategory category, const std::vector<debug::RegisterValue> & registers, OutputBuffer * out)Does x64-specific formatting of the registesrs of a given category. Returns true if this category
was handled. False means their is no special X64 handling for this category.
Defined at line 352 of file ../../src/developer/debug/zxdb/console/format_register_x64.cc
-
Err ParseSpecialIdentifier (std::string_view input, size_t * cur, SpecialIdentifier * special, std::string * contents, size_t * error_location)Parses a special identifier of "$special_name(contents)" or "$special_name". It starts at index
|*cur| inside |input|. On error, |*error_location| will be set to the byte that goes along with
the error.
Defined at line 17 of file ../../src/developer/debug/zxdb/expr/parse_special_identifier.cc
-
std::string to_hex_string (int8_t i, int digits, bool include_prefix)Cast signed numbers to their unsigned variant before converting to 64-bit to avoid sign
extension.
Defined at line 32 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
VerbRecord GetStackUsageVerbRecord ()Defined at line 399 of file ../../src/developer/debug/zxdb/console/commands/verb_stack_usage.cc
-
void RunVerbStdio (Verb io_type, const Command & cmd, fxl::RefPtr<CommandContext> cmd_context)Defined at line 62 of file ../../src/developer/debug/zxdb/console/commands/verb_stdout.cc
-
OutputBuffer FormatSettingStore (ConsoleContext * context, const SettingStore & store)Defined at line 75 of file ../../src/developer/debug/zxdb/console/format_settings.cc
-
std::string GetBreakpointMarker ()Returns a circle symbol suitable for marking breakpoints in code listings.
Defined at line 14 of file ../../src/developer/debug/zxdb/console/string_util.cc
-
fxl::RefPtr<BaseType> GetBuiltinType (ExprLanguage lang, std::string_view name)Looks up the given type name. If it is a known builtin type name, a symbol defining that type
will be returned. Otherwise an empty refptr will be returned.
"void" is a special case: it will be represetned as a kBaseTypeNone variant of a base type
(normally DWARF would represent void as the absence of a type, but that's not possible here.
Defined at line 138 of file ../../src/developer/debug/zxdb/expr/builtin_types.cc
-
debug::RegisterID GetRegisterID (debug::Arch arch, const ParsedIdentifier & ident)Converts an identifier to a RegisterID. Returns kUnknown if the identifier is
not a register for the given architecture.
Defined at line 14 of file ../../src/developer/debug/zxdb/expr/register_utils.cc
-
ErrOrValue ResolveConstValue (const fxl::RefPtr<EvalContext> & context, const Value * value)Given a Value that holds a ConstValue (value->const_value().has_value() == true), computes the
result.
FUTURE ENHANCEMENT: If ConstValue starts to be used for more things like enumeration values, we
may want to add a "ConstValue" constructor/getter to ExprValue and remove this.
Defined at line 15 of file ../../src/developer/debug/zxdb/expr/resolve_const_value.cc
-
void GetReturnValue (const fxl::RefPtr<EvalContext> & context, const Function * func, EvalCallback cb)Use immediately following the return instruction of the given non-inline function. This computes
the return value of the function if possible, and issues the callback with it.
The callback will be issued reentrantly if the value is known synchronously. The callback
ExprValue will be valid but empty if the function return type is void.
Defined at line 108 of file ../../src/developer/debug/zxdb/expr/return_value.cc
-
std::string VmStreamToString (const VmStream & stream)Defined at line 9 of file ../../src/developer/debug/zxdb/expr/vm_stream.cc
-
void RunCommandSequence (Console * console, std::vector<std::string> commands, fxl::RefPtr<CommandContext> cmd_context)Executes the given list of string commands on the console. It stops until all commands complete
or there is an error. The callback will be called on either form of completion.
Defined at line 48 of file ../../src/developer/debug/zxdb/console/command_sequence.cc
-
OutputBuffer FormatException (const ConsoleContext * context, const Thread * thread, const debug_ipc::ExceptionRecord & record)Formats the given exception along with some additional information.
Defined at line 194 of file ../../src/developer/debug/zxdb/console/format_exception.cc
-
ErrOrValue ResolveBitfieldMember (const fxl::RefPtr<EvalContext> & context, const ExprValue & base, const FoundMember & found_member)Extracts a member from a collection that's a bitfield.
Defined at line 39 of file ../../src/developer/debug/zxdb/expr/bitfield.cc
-
std::string to_hex_string (uint8_t i, int digits, bool include_prefix)Defined at line 35 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
OutputBuffer FormatHandles (const std::vector<debug_ipc::InfoHandle> & handles, bool hex)Formats a table of the handles with minimal information. The order of the table will be the
same as the input vector. The hex flag prints values in hexadecimal. Otherwise decimal will be
used.
Defined at line 70 of file ../../src/developer/debug/zxdb/console/format_handle.cc
-
std::string GetDisabledBreakpointMarker ()Defined at line 22 of file ../../src/developer/debug/zxdb/console/string_util.cc
-
std::vector<std::string> ExtractSourceLines (const std::string & contents)Extracts all source lines.
Defined at line 60 of file ../../src/developer/debug/zxdb/symbols/source_util.cc
-
llvm::DWARFUnit * GetUnitWithNameEndingIn (llvm::DWARFContext * context, llvm::DWARFUnitVector & units, const std::string & name)Returns the unit in the list with a name ending in the given string. The name is normally the
file name, so searching for "/foo.cc" will find the unit corresponding to foo.cc (the full path
in the unit name may be more complicated so don't depend on the particulars of that).
Defined at line 28 of file ../../src/developer/debug/zxdb/symbols/dwarf_test_util.cc
-
template <typename DerivedType>fxl::RefPtr<DerivedType> GetConcreteTypeAs (const FindNameContext & context, const Type * type)These variants of GetConcreteType() automatically convert to the requested destination type if
possible.
Defined at line 36 of file ../../src/developer/debug/zxdb/expr/resolve_type.h
-
std::string to_hex_string (int16_t i, int digits, bool include_prefix)Defined at line 38 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
template <typename DerivedType>fxl::RefPtr<DerivedType> GetConcreteTypeAs (const FindNameContext & context, const LazySymbol & symbol)Defined at line 42 of file ../../src/developer/debug/zxdb/expr/resolve_type.h
-
template <typename T>internal::ReversedAdapter<T> Reversed (T & t)Reversed returns a container adapter usable in a range-based "for" statement
for iterating a reversible container in reverse order.
Example:
std::vector
<int
> v = ...;
for (int i : Reversed(v)) {
// iterates through v from back to front
}
Defined at line 47 of file ../../src/developer/debug/zxdb/common/adapters.h
-
VerbRecord GetStatusVerbRecord ()Defined at line 103 of file ../../src/developer/debug/zxdb/console/commands/verb_status.cc
-
fxl::RefPtr<Collection> MakeRustTuple (const std::string & name, const std::vector<fxl::RefPtr<Type>> & members)To make a regular tuple give it a name according to the types you use in parens, e.g. "(u32,
Point)", to make a tuple struct, give it a word name like "Foo".
Defined at line 92 of file ../../src/developer/debug/zxdb/symbols/symbol_utils.cc
-
Err ResolveVariant (const fxl::RefPtr<EvalContext> & context, const ExprValue & value, const Collection * collection, const VariantPart * variant_part, fxl::RefPtr<Variant> * result)Given the VariantPart stored in the given ExprValue, this computes the currently active Variant
inside the given collection and places it into *result.
Defined at line 118 of file ../../src/developer/debug/zxdb/expr/resolve_variant.cc
-
bool IsPathAbsolute (const std::string & path)Returns true if the given file path is absolute (begins with a slash). The contents could still
have relative components ("/foo/../bar" is still absolute).
Defined at line 23 of file ../../src/developer/debug/zxdb/common/file_util.cc
-
std::string to_hex_string (uint16_t i, int digits, bool include_prefix)Defined at line 41 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
std::string GetFPString (cpp20::span<const uint8_t> value, int precision)Format for float, double and long double. The |precision| sets the amount of digits to be
written. If 0, the maximum for that particular floating type will be used.
Defined at line 53 of file ../../src/developer/debug/zxdb/console/string_formatters.cc
-
Err GetUnavailableRegisterErr (debug::RegisterID id)Returns a generic error message for register |id|.
Defined at line 28 of file ../../src/developer/debug/zxdb/expr/register_utils.cc
-
void RunVerbStepsWithSubstatements (Thread * thread, std::vector<SubstatementCall> calls, fxl::RefPtr<CommandContext> cmd_context)Runs a "steps" with the given identified substatements. This is exposed for testing so it can be
run with some canned substatements without having to mock the memory request which the
substatement code uses.
Defined at line 117 of file ../../src/developer/debug/zxdb/console/commands/verb_steps.cc
-
OutputBuffer FormatSetting (ConsoleContext * context, const std::string & name, const std::string & description, const SettingValue & value)Outputs the detailed information about a particular setting.
Defined at line 88 of file ../../src/developer/debug/zxdb/console/format_settings.cc
-
OutputBuffer FormatThreadStop (ConsoleContext * context, const Thread * thread, std::optional<StopInfo> info, bool override_show_exception_info)For comparison, GDB's printout for a breakpoint hit is:
Breakpoint 1, main () at eraseme.c:4
4 printf("Hello\n");
And LLDB's is:
* thread #1: tid = 33767, 0x000055555555463e a.out`main + 4 at
eraseme.c:4, name = 'a.out', stop reason = breakpoint 1.1
frame #0: 0x000055555555463e a.out`main + 4 at eraseme.c:4
1 #include
<stdio
.h>
2
3 int main() {
-> 4 printf("Hello\n");
5 return 1;
6 }
When stepping, GDB prints out only the 2nd line with source info, and LLDB
prints out the whole thing with "step over" for "stop reason".
Defined at line 84 of file ../../src/developer/debug/zxdb/console/format_thread.cc
-
void SyncFillAndDescribeFormatTree (const fxl::RefPtr<EvalContext> & eval_context, FormatNode * node, const FormatOptions & opts)A recursive version of SyncFillAndDescribeFormatNode(), this iterates into all children until
there are no more children.
Running this on real data can result in infinite recursion if there is a pointer loop.
Defined at line 45 of file ../../src/developer/debug/zxdb/expr/format_test_support.cc
-
debug_ipc::ExceptionType ToExceptionType (const std::string & shorthand)Returns kNone if the shorthand is not recognized.
Defined at line 11 of file ../../src/developer/debug/zxdb/client/exception_settings.cc
-
Err ParseHostPort (const std::string & input, std::string * out_host, uint16_t * out_port)Parse |input| as "host:port", storing the parsed values in |*out_host,*out_port|.
If "host" is an IPv6 address it must be wrapped in [].
Defined at line 38 of file ../../src/developer/debug/zxdb/common/inet_util.cc
-
std::string to_hex_string (int32_t i, int digits, bool include_prefix)Defined at line 44 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
Err ReadAnalyzeNumAndSizeSwitches (const Command & cmd, std::optional<uint32_t> * out_size)Reads the two switches above. The |*out_size| will be unchanged if neither is specified.
Defined at line 141 of file ../../src/developer/debug/zxdb/console/commands/verb_mem_analyze.cc
-
std::string ExceptionRecordToString (debug::Arch arch, const debug_ipc::ExceptionRecord & record)Converts the exception record to a single string describing the exception that occurred.
Defined at line 243 of file ../../src/developer/debug/zxdb/console/format_exception.cc
-
void AppendPrintCommandSwitches (VerbRecord * record)Appends the formatting switches used by GetPrintCommandFormatOptions. These switch values start
at 1,000,000 so they shouldn't collide with other switch integers.
Commands using this function to populate their VerbRecord should include the below
PRINT_COMMAND_SWITCH_HELP in their help.
Defined at line 33 of file ../../src/developer/debug/zxdb/console/print_command_utils.cc
-
std::string GetBullet ()Returns a Unicode bullet in UTF-8.
Defined at line 27 of file ../../src/developer/debug/zxdb/console/string_util.cc
-
fxl::RefPtr<BaseType> GetBuiltinUnsignedType (ExprLanguage lang, size_t byte_size)These will always return a type of rhte given size. If the language doesn't have a built-in for
the name, one will be made up.
Defined at line 171 of file ../../src/developer/debug/zxdb/expr/builtin_types.cc
-
ErrOrValue StringToNumber (ExprLanguage lang, std::string_view str)Converts the given string to a number. Currently this only handles integers (no floating point).
It tries to compute a value of the correct type given the input, taking into account size
suffixes and the magnitude of the number. The rules are somewhat simplified from C++ in that the
base of the number is not considered and it will pick the smallest type that will fit (C++ has
different rules for decimal numbers, see the .cc file).
Defined at line 121 of file ../../src/developer/debug/zxdb/expr/number_parser.cc
-
std::vector<InputLocation> ExpandPermissiveInputLocationNames (const FindNameContext & context, const std::vector<InputLocation> & input)Expands the names of the input location(s) to all possible exact globally qualified names.
Non-symbol-name-based inputs will be unchanged.
Defined at line 27 of file ../../src/developer/debug/zxdb/expr/permissive_input_location.cc
-
Err ConnectToUnixSocket (const std::string & path, fbl::unique_fd * socket)If successful, |socket| will contain a valid socket fd.
This function will take care for differences each OS has when connecting to a socket
located on the filesystem.
Defined at line 182 of file ../../src/developer/debug/zxdb/client/socket_connect.cc
-
std::string to_hex_string (uint32_t i, int digits, bool include_prefix)Defined at line 47 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
ErrOr<std::vector<std::string>> ReadCommandsFromFile (const std::string & path)Reads each line from a file and returns it in the given vector. This is used to read script files
into a sequence of commands.
Defined at line 59 of file ../../src/developer/debug/zxdb/console/command_sequence.cc
-
OutputBuffer GetConnectionStatus (const Session * session)Return diagnostic and help information on the given category of stuff.
Defined at line 108 of file ../../src/developer/debug/zxdb/console/commands/verb_status.cc
-
OutputBuffer FormatHandle (const debug_ipc::InfoHandle & handle, bool hex)Formats a detailed summary of a single handle's information. The hex flag prints values in
hexadecimal. Otherwise decimal will be used.
Defined at line 89 of file ../../src/developer/debug/zxdb/console/format_handle.cc
-
fxl::RefPtr<BaseType> GetBuiltinFloatType (ExprLanguage lang, size_t byte_size)Defined at line 208 of file ../../src/developer/debug/zxdb/expr/builtin_types.cc
-
dap::ResponseOrError<dap::AttachResponse> OnRequestAttach (DebugAdapterContext * ctx, const dap::AttachRequestZxdb & req)Defined at line 22 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_attach.cc
-
const char * SettingTypeToString (SettingType )Defined at line 18 of file ../../src/developer/debug/zxdb/client/setting_value.cc
-
std::string to_hex_string (int64_t i, int digits, bool include_prefix)Defined at line 50 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
ErrOr<ConsoleFormatOptions> GetPrintCommandFormatOptions (const Command & cmd)Populates the formatting options with the given command's switches.
Defined at line 45 of file ../../src/developer/debug/zxdb/console/print_command_utils.cc
-
void FormatTable (std::initializer_list<ColSpec> spec, const std::vector<std::vector<std::string>> & rows, OutputBuffer * out)Helper function to save some typing for static column specs.
Defined at line 56 of file ../../src/developer/debug/zxdb/console/format_table.h
-
void FormatTable (std::initializer_list<ColSpec> spec, const std::vector<std::vector<OutputBuffer>> & rows, OutputBuffer * out)Defined at line 60 of file ../../src/developer/debug/zxdb/console/format_table.h
-
void OnRequestStackTrace (DebugAdapterContext * ctx, const dap::StackTraceRequest & req, std::function<void (dap::ResponseOrError<dap::StackTraceResponse>)> callback)Defined at line 60 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_stacktrace.cc
-
void WriteBitfieldToMemory (const fxl::RefPtr<EvalContext> & context, const ExprValueSource & dest, std::vector<uint8_t> data, fit::callback<void (const Err &)> cb)Writes the data to a "source" specification that's a bitfield. The data should contain the
little-endian representation of the numeric value of the bitfield.
Defined at line 121 of file ../../src/developer/debug/zxdb/expr/bitfield.cc
-
OutputBuffer GetFilterStatus (ConsoleContext * context)Defined at line 148 of file ../../src/developer/debug/zxdb/console/commands/verb_status.cc
-
void EvalBinaryOperator (const fxl::RefPtr<EvalContext> & context, const ExprValue & left_value, const ExprToken & op, const ExprValue & right_value, EvalCallback cb)This version takes evaluated values and so can not support short-circuiting for || and
&
&
.
Shor-circuiting is implemented in the bytecode emitted by the BinaryOpNode.
Defined at line 634 of file ../../src/developer/debug/zxdb/expr/eval_operators.cc
-
llvm::DWARFDie GetFirstDieOfTagAndName (llvm::DWARFContext * context, llvm::DWARFUnit * unit, llvm::dwarf::Tag tag, const std::string & name)Returns the first DIE in the unit with the matching tag and DW_AT_Name attribute. If not found,t
he returned DIE will be !isValid().
Defined at line 39 of file ../../src/developer/debug/zxdb/symbols/dwarf_test_util.cc
-
std::string to_hex_string (uint64_t i, int digits, bool include_prefix)Defined at line 53 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
OutputBuffer GetJobStatus (ConsoleContext * context) -
void ResolveArray (const fxl::RefPtr<EvalContext> & eval_context, const Type * original_type, const ExprValue & array, size_t begin_index, size_t end_index, fit::callback<void (ErrOrValueVector)> )Converts the given array type (could be a pointer or a static array type like "int[4]") to
a vector of ExprValues. Since this requires memory fetches is must be asynchronous.
The input will be clipped to the array size so the result may be empty or smaller than requested.
This does not apply pretty types for item resolution.
Defined at line 208 of file ../../src/developer/debug/zxdb/expr/resolve_array.cc
-
void ResolveFunction (const fxl::RefPtr<EvalContext> & eval_context, const ParsedIdentifier & fn_name, const std::vector<ExprValue> & params, fit::callback<void (ErrOr<FunctionCallInfo>)> cb)Tries to resolve and extract the given function name to a Function symbol.
There are several cases that currently return an error, but will be
implemented eventually:
* |fn_name| resolves to multiple locations
* |params| is not empty
These features are being tracked in https://fxbug.dev/42132103.
An error is also returned in the case where |fn_name| resolves to no
locations or the function has been inlined.
Defined at line 144 of file ../../src/developer/debug/zxdb/expr/resolve_function.cc
-
BreakpointAction BreakpointActionHighestPrecedence (BreakpointAction a, BreakpointAction b)Returns the action that takes precedence. If two breakpoints are hit at the same time and they
each report different actions, the one with the highest precedence is the action taken.
Defined at line 11 of file ../../src/developer/debug/zxdb/client/breakpoint_action.cc
-
bool Ipv6HostPortIsMissingBrackets (const std::string & input)Return true if |input| looks like "ipv6:port" with "ipv6" not wrapped in brackets.
Return false in all other cases.
Defined at line 63 of file ../../src/developer/debug/zxdb/common/inet_util.cc
-
std::string to_hex_string (int128_t i, int digits, bool include_prefix)Format the 128-bit numbers as two 64-bit ones.
Defined at line 58 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
template <typename Data>std::vector<uint8_t> AsData (Data d)Defined at line 82 of file ../../src/developer/debug/zxdb/client/minidump_unittest.cc
-
Err TokenizeCommand (const std::string & input, std::vector<CommandToken> * result)Converts the given string to a series of tokens. This is used by ParseCommand and is exposed
separate for testing purposes.
Defined at line 551 of file ../../src/developer/debug/zxdb/console/command_parser.cc
-
OutputBuffer GetProcessStatus (ConsoleContext * context)Defined at line 162 of file ../../src/developer/debug/zxdb/console/commands/verb_status.cc
-
OutputBuffer FormatThreadConcise (const ConsoleContext * context, const Thread * thread)Returns an OutputBuffer with a short one-line description of |thread|. No source or exception
information will be printed, even if available.
Defined at line 155 of file ../../src/developer/debug/zxdb/console/format_thread.cc
-
std::string GetExclamation ()Returns the exclamation-point-in-triangle emoji. This includes a space after it since this
character is a wide emoji.
Defined at line 32 of file ../../src/developer/debug/zxdb/console/string_util.cc
-
ErrOr<TargetPointer> ExtractPointerValue (const ExprValue & value)Extracts the address value from the ExprValue, assuming it's a pointer or reference.
Defined at line 74 of file ../../src/developer/debug/zxdb/expr/resolve_ptr_ref.cc
-
OutputBuffer FormatSettingShort (ConsoleContext * context, const std::string & name, const SettingValue & value, int list_indent)Formats the setting to just show the value. Since lists go on separate different lines,
list_indent can be used to insert spaces to the left of each.
Defined at line 109 of file ../../src/developer/debug/zxdb/console/format_settings.cc
-
void EvalExpression (const std::string & input, const fxl::RefPtr<EvalContext> & context, bool follow_references, EvalCallback cb)Main entrypoint to evaluate an expression. This will parse the input, execute the result with the
given context, and call the callback when complete.
If follow_references is set, expressions that result in a reference will have the value of the
referenced data computed. This is useful when the caller wants the result value of an expression
but doesn't care about the exact type.
The callback may get issued asynchronously in the future or it may get called synchronously in a
reentrant fashion from this function.
Defined at line 53 of file ../../src/developer/debug/zxdb/expr/expr.cc
-
ErrOrValue RegisterDataToValue (ExprLanguage lang, debug::RegisterID id, VectorRegisterFormat vector_fmt, cpp20::span<const uint8_t> data)Converts |data| into an ExprValue with the given |id|. The format for
non-vector registers will be looked up based on |id|. |lang| will determine
the builtin Type symbol that will represent the register data.
Defined at line 32 of file ../../src/developer/debug/zxdb/expr/register_utils.cc
-
ErrOr<std::string> GetActiveRustVariantName (const fxl::RefPtr<EvalContext> & context, const ExprValue & value)Returns the short name of the active Rust enum value (for example, this will be "Some" or "None"
for an Option). If the struct doesn't look like a Rust enum, returns an error.
Defined at line 169 of file ../../src/developer/debug/zxdb/expr/resolve_variant.cc
-
VariableLocation DecodeVariableLocation (llvm::DWARFUnit * unit, const llvm::DWARFFormValue & form, const UncachedLazySymbol & source)Decodes the variable location contained in the given form value. It's assumed the form value
contains either a block, an ExprLoc, or an offset into the .debug_loc section.
The source is the symbol that created this location entry, it will be passed to the
VariableLocation.
On error this will return an empty VariableLocation.
Defined at line 167 of file ../../src/developer/debug/zxdb/symbols/dwarf_location.cc
-
const char * FunctionStepToString (FunctionStep )Defined at line 42 of file ../../src/developer/debug/zxdb/client/function_step.cc
-
std::string to_hex_string (uint128_t i, int digits, bool include_prefix)Defined at line 61 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
OutputBuffer GetLimboStatus (const std::vector<debug_ipc::ProcessRecord> & limbo)Defined at line 180 of file ../../src/developer/debug/zxdb/console/commands/verb_status.cc
-
fxl::RefPtr<Type> MakeStringLiteralType (size_t length)Makes a type that can hold the raw string bytes of the given length. This always returns a
C-style string array "char[length]". Rust's "&str" type is actually a structure with a pointer
which we can't store as a literal in debugger client memory, and users expect an array
"[char; 3]" to be printed as ['a', 'b', 'c'] instead of a string.
Defined at line 115 of file ../../src/developer/debug/zxdb/symbols/symbol_utils.cc
-
fxl::RefPtr<BaseType> MakeInt16Type ()Returns a type that can hold 4/8-byte [un]signed integers.
Defined at line 19 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
ErrOr<std::vector<debug_ipc::UpdateGlobalSettingsRequest::UpdateExceptionStrategy>> ParseExceptionStrategyUpdates (const std::vector<std::string> & second_chance_shorthands)Given a list of exception type shorthands, this utility returns the list of
request objects to update the strategies of those types as second-chance
and their complement as first-chance.
Defined at line 26 of file ../../src/developer/debug/zxdb/client/exception_settings.cc
-
void EvalUnaryOperator (const fxl::RefPtr<EvalContext> & context, const ExprToken & op_token, const ExprValue & value, EvalCallback cb)UBSan complains about the overflow of -INT32_MAX but our tests cover that.
Defined at line 832 of file ../../src/developer/debug/zxdb/expr/eval_operators.cc
-
std::vector<Location> ResolvePermissiveInputLocations (const ProcessSymbols * process_symbols, const ResolveOptions & resolve_options, const FindNameContext & context, const std::vector<InputLocation> & input)An alternate implementation of this function could get the actual symbol objects from the
FindName results (function, variable), and then do a symbol lookup on that to get the full
InputLocation. Basically InputLocation would have another "symbol object" mode that would take
a RefPtr
<Symbol
> to look up.
The advantage of that implementation is that it saves the symbol name lookup when we go to the
ResolveInputLocation() call. Not round-tripping through names also helps remove some potential
ambiguity about what we're referring to if there are multiple matches.
The disadvantage is that the implementation is more complicated, especially since symbol objects
don't currently have any ModuleSymbol information associated with them.
TODO(bug 37608) Revisit this design when symbols know their modules. This might make the above
design more desirable.
Defined at line 75 of file ../../src/developer/debug/zxdb/expr/permissive_input_location.cc
-
Err ParseCommand (const std::string & input, Command * output)Defined at line 598 of file ../../src/developer/debug/zxdb/console/command_parser.cc
-
fxl::RefPtr<Type> GetConcreteType (const FindNameContext & context, const Type * type)Strips C-V qualifications and resolves forward declarations.
This is the function to use to properly resolve the type to something there the data of the
ExprValue can be interpreted.
It will return null only if the input type is null. Sometimes forward declarations can't be
resolved or the "const" refers to nothing, in which case this function will return the original
type.
The variant that takes a LazySymbol will extract the symbol and will additionally return null if
the symbol is not a type.
Defined at line 17 of file ../../src/developer/debug/zxdb/expr/resolve_type.cc
-
fxl::RefPtr<BaseType> MakeInt32Type ()Defined at line 23 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
OperatorKeywordResult ParseOperatorKeyword (const std::vector<ExprToken> & tokens, size_t keyword_token)This extracts the built-in operator names like "operator++" and "operator()". It does not
parse type conversion function names like "operator bool". The ExprParser will handle that.
The token corresponding to the "operator" keyword itself is passed in as an argument. The
end_token in the result will indicate the tokens consumed.
Defined at line 106 of file ../../src/developer/debug/zxdb/expr/operator_keyword.cc
-
fxl::RefPtr<Variable> MakeVariableForTest (const std::string & name, fxl::RefPtr<Type> type, VariableLocation loc)Returns a Variable for the given range with the given location description.
Example:
#include "llvm/BinaryFormat/Dwarf.h"
auto var = MakeVariableForTest(
"var", my_type, 0x1000, 0x2000, { llvm::dwarf::DW_OP_reg0 });
For a type that's always valid use the VariableLocation() variant:
auto var = MakeVariableForTest(
"var", my_type, VariableLocation(DwarfExpr({ llvm::dwarf::DW_OP_reg0 })));
This variant also allows all of the more complex variants like multiple valid ranges.
Defined at line 13 of file ../../src/developer/debug/zxdb/symbols/variable_test_support.cc
-
std::string GetRightArrow ()Rightward pointing arrow used for pointers and such.
Defined at line 39 of file ../../src/developer/debug/zxdb/console/string_util.cc
-
std::string GetFormatNodeTypeAndDescription (const FormatNode * node)Returns either:
<type
>,
<description
>
if it's valid, or:
Err:
<err
_message>
if there's an error.
Defined at line 52 of file ../../src/developer/debug/zxdb/expr/format_test_support.cc
-
fxl::RefPtr<Type> GetConcreteType (const FindNameContext & context, const LazySymbol & symbol)Defined at line 56 of file ../../src/developer/debug/zxdb/expr/resolve_type.cc
-
fxl::RefPtr<BaseType> MakeUint32Type ()Defined at line 27 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
VisitResult VisitLocalBlocks (const CodeBlock * starting, fit::function<VisitResult (const CodeBlock *)> cb)Calls the callback for all code blocks, going backwards in the hierarchy. The starting block is
called first. Stops iterating when it hits a function boundary.
The visited blocks will normally not outlive this call. If the caller wants to get any
symbol objects out of the visitation callback, it should take references to it.
Defined at line 104 of file ../../src/developer/debug/zxdb/symbols/visit_scopes.cc
-
fxl::RefPtr<BaseType> MakeInt64Type ()Defined at line 31 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
void FillFormatNodeValue (FormatNode * node, const fxl::RefPtr<EvalContext> & context, fit::deferred_callback cb)Fills the value() of a FormatNode based on its expression. This does not update the description
based on the new value. The node can be in any state and this function will fill the value if
possible.
The callback will be called on completion. This may occur synchronously (within the stack of this
function call) or in the future. If it happens in the future, the node will be referenced by weak
pointer so the caller does not have to worry about lifetime issues.
The callback will always be issued, even if the node is destroyed. Callers should keep a weak
pointer to the node if they do not control its lifetime.
TODO(brettw) should this be a member of FormatNode?
Defined at line 614 of file ../../src/developer/debug/zxdb/expr/format.cc
-
fxl::RefPtr<Variable> MakeVariableForTest (const std::string & name, fxl::RefPtr<Type> type, uint64_t begin_ip_range, uint64_t end_ip_range, DwarfExpr location_expression)Defined at line 23 of file ../../src/developer/debug/zxdb/symbols/variable_test_support.cc
-
bool PathEndsWith (std::string_view path, std::string_view right_query)Returns true if the given |path| matches the |right_query| from the right-hand side. This
requires both that the |path| end in |right_query| (case-sensitive) AND the start of the match is
either the beginning of |path| or immediately following a path separator.
Examples:
path = "foo.cc", right_query = "foo.cc" => TRUE
path = "bar/foo.cc", right_query = "foo.cc" => TRUE
path = "foo.cc", right_query = "o.cc" => FALSE
Defined at line 25 of file ../../src/developer/debug/zxdb/common/file_util.cc
-
OutputBuffer FormatSettingValue (ConsoleContext * context, const SettingValue & value)Formats an individual setting value. This is the low-level formatting and
doesn't do any special handling for lists (it will be just space-separated).
Defined at line 124 of file ../../src/developer/debug/zxdb/console/format_settings.cc
-
std::optional<ExprLanguage> FileNameToLanguage (const std::string & name)Attempts to determine the source language corresponding to a given file name. Returns nullopt
if no explicit match.
Defined at line 12 of file ../../src/developer/debug/zxdb/expr/expr_language.cc
-
fxl::RefPtr<Type> AddCVQualifiersToMatch (const Type * reference, fxl::RefPtr<Type> modified)Matches C-V qualifiers (+restrict) present on the reference type and adds them to the modified
type.
Defined at line 120 of file ../../src/developer/debug/zxdb/symbols/symbol_utils.cc
-
fxl::RefPtr<BaseType> MakeUint64Type ()Defined at line 35 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
OutputBuffer FormatRegisters (const FormatRegisterOptions & options, const std::vector<debug::RegisterValue> & registers)Format the given registers into a console readable format.
Defined at line 60 of file ../../src/developer/debug/zxdb/console/format_register.cc
-
void ResolveArrayItem (const fxl::RefPtr<EvalContext> & eval_context, const ExprValue & array, size_t index, EvalCallback cb)Resolves a single item in an array and applies pretty types for item resolution. This is the
backend for array access [
<number
> ] in expressions.
Defined at line 218 of file ../../src/developer/debug/zxdb/expr/resolve_array.cc
-
void EvalExpressions (const std::vector<std::string> & inputs, const fxl::RefPtr<EvalContext> & context, bool follow_references, fit::callback<void (std::vector<ErrOrValue>)> cb)Like EvalExpressions but evaluates a sequence of expressions, issuing the callback when they're
all complete. The size order of the results in the callback vector will correspond to the inputs.
Defined at line 87 of file ../../src/developer/debug/zxdb/expr/expr.cc
-
template <typename T>std::string to_bin_string (T i, int digits, bool include_prefix, char byte_separator)Similar to to_hex_string but additional can optionally write byte separators. If nonzero, the
given byte_separator characer will be output for every 8 bits.
Defined at line 76 of file ../../src/developer/debug/zxdb/common/string_util.cc
-
void SplitDapCommand (const dap::string & cmd_string, dap::array<dap::string> & cmd)Split a command string separated by whitespaces into an array of strings (required by
RunInTerminal request).
Defined at line 23 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_launch.cc
-
std::optional<bool> StringToBool (std::string_view )Converts to/from "0"/"1"/"true"/"false". This is used for formatting internal values like
settings rather than language strings.
Defined at line 46 of file ../../src/developer/debug/zxdb/console/string_util.cc
-
bool NameHasTemplate (std::string_view name)Defined at line 134 of file ../../src/developer/debug/zxdb/symbols/symbol_utils.cc
-
fxl::RefPtr<BaseType> MakeFloatType ()Defined at line 39 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
const char * BoolToString (bool )Defined at line 54 of file ../../src/developer/debug/zxdb/console/string_util.cc
-
fxl::RefPtr<BaseType> MakeDoubleType ()Defined at line 43 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
OutputBuffer FormatSymbol (const ProcessSymbols * process_symbols, const Symbol * symbol, const FormatSymbolOptions & opts)Dumps the symbol information and returns a formatted buffer. The ProcessSymbols can be null but
this means all offsets will be printed as relative, and no forward-declared types can be
resolved (some information might be missing).
Defined at line 507 of file ../../src/developer/debug/zxdb/console/format_symbol.cc
-
Err ParseGlobalInputLocation (const Location & location, const std::string & input, InputLocation * output)Parses a given input from the user to an InputLocation. Symbolic names ("MyFunction") are treated
as global names and there is no processing done on these. For context-aware handling of function
names, see ParseLocalInputLocation.
The Location is used to resolve line numbers in the current file. The location need not have a
current file (it can be an empty location or an unsymbolized one) in which case numeric input
will fail.
This does not handle the case where no location is specified (some commands, like "break", might
use this to indicate the current location, but many other commands don't support this format).
This does not handle expressions, see EvalGlobalInputLocation() below.
Defined at line 87 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
dap::ResponseOrError<dap::LaunchResponse> OnRequestLaunch (DebugAdapterContext * context, const dap::LaunchRequestZxdb & req)Defined at line 39 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_launch.cc
-
void ResolvePointer (const fxl::RefPtr<EvalContext> & eval_context, uint64_t address, fxl::RefPtr<Type> type, EvalCallback cb)Creates an ExprValue of the given type from the data at the given address. Issues the callback on
completion. The type can be null (it will immediately call the callback with an error).
It's assumed the type is already concrete (so it has a size). This will not do any fancy stuff
like casting to a derived type. It is a low-level function that just fetches the requested
memory.
Defined at line 81 of file ../../src/developer/debug/zxdb/expr/resolve_ptr_ref.cc
-
ModuleIndexerResult IndexModule (fxl::WeakPtr<ModuleSymbols> module_symbols, DwarfBinary & binary, const std::string & build_dir)Index the given DwarfBinary, loading and indexing any .dwo files it references.
Note the usage of the DwarfBinary doesn't really change anything but it causes a bunch of caching
stuff on the LLVM objects that require a non-const reference.
Defined at line 149 of file ../../src/developer/debug/zxdb/symbols/module_indexer.cc
-
std::string CatPathComponents (const std::string & first, const std::string & second)Concatenates the two path components with a slash in between them. "first" can end with a slash
or not. The second component shouldn't begin with a slash.
Defined at line 30 of file ../../src/developer/debug/zxdb/common/file_util.cc
-
void FormatGeneralRegisters (const std::vector<debug::RegisterValue> & registers, OutputBuffer * out)Formats the given registers as platform-independent values/vectors.
Defined at line 82 of file ../../src/developer/debug/zxdb/console/format_register.cc
-
ErrOr<ParsedSetCommand> ParseSetCommand (const std::string & input)Grammar:
command :=
<name
> [
<whitespace
> ] [
<operator
>
<whitespace
> ] [
<value
> * ]
name := ('A' - 'Z') | ('a' - 'z') | '-' // See IsSettingNameChar() for qualifications.
operator := "=" | '+=' | '-='
A "value" is a possibly quoted string parsed as a command token. The whole thing can't be parsed
as a command because we want to handle "name value" as well as "name = value" and "name=value".
Defined at line 680 of file ../../src/developer/debug/zxdb/console/verbs_settings.cc
-
void AddTemplateParameterToName (std::string & original, const char * type_name)Defined at line 136 of file ../../src/developer/debug/zxdb/symbols/symbol_utils.cc
-
fxl::RefPtr<Variable> MakeUint64VariableForTest (const std::string & name, VariableLocation loc)Like above but marks the variable as having an unsigned 64-bit int type.
Defined at line 37 of file ../../src/developer/debug/zxdb/symbols/variable_test_support.cc
-
OutputBuffer FormatMemory (const MemoryDump & dump, uint64_t begin, uint32_t size, const MemoryFormatOptions & opts)Optimized for simplicity over speed. But this does not use the table output to avoid having giant
table computations for large memory dumps.
Defined at line 41 of file ../../src/developer/debug/zxdb/console/format_memory.cc
-
void PromotePtrRefToDerived (const fxl::RefPtr<EvalContext> & context, PromoteToDerived what, ExprValue value, EvalCallback cb)Promotes a pointer/reference type to its derived class if possible. If unknown or there's any
error, the input value will be given to the callback (the callback will never report an error,
but is an EvalCallback for consistency).
This will promote pointers (Base* -> Derived*), references (Base
&
-> Derived
&
). It will
NOT promote actual objects (Base -> Derived). From a language perspective, all base classes will
need to be passed as a pointer or a reference so this operation will pick up all cases. And
trying to do this on all types will be much slower since it will trigger for everything.
Defined at line 121 of file ../../src/developer/debug/zxdb/expr/resolve_base.cc
-
fxl::RefPtr<BaseType> MakeSignedChar8Type ()Defined at line 47 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
Err OutputSourceContext (Process * process, std::unique_ptr<SourceFileProvider> file_provider, const Location & location, SourceAffinity source_affinity)Formats the given location and writes it to the console.
If the location is symbolized and the source affinity is not "assembly", a source-code dump will
be displayed. Otherwise, a disassembly dump will be displayed.
Disassembly dumps will be done asynchronously since the memory must be requested from the target
system. Source dumps will be synchronous.
An error will be returned if the location is symbolized but the file can't be found or doesn't
contain that line. In this case, nothing will be output.
Defined at line 275 of file ../../src/developer/debug/zxdb/console/format_context.cc
-
void FormatGeneralVectorRegisters (const FormatRegisterOptions & options, const std::vector<debug::RegisterValue> & registers, OutputBuffer * out)Defined at line 95 of file ../../src/developer/debug/zxdb/console/format_register.cc
-
fxl::RefPtr<Variable> MakeUint64VariableForTest (const std::string & name, uint64_t begin_ip_range, uint64_t end_ip_range, DwarfExpr location_expression)Defined at line 43 of file ../../src/developer/debug/zxdb/symbols/variable_test_support.cc
-
void DwarfExprToValue (UnitSymbolFactory symbol_factory, const fxl::RefPtr<EvalContext> & eval_context, const SymbolContext & symbol_context, DwarfExpr expr, fxl::RefPtr<Type> type, EvalCallback cb)Evaluates the given DWARF expression and calls the callback with the result, using the given
type. See file comment above.
Defined at line 14 of file ../../src/developer/debug/zxdb/expr/eval_dwarf_expr.cc
-
FunctionStep GetFunctionStepAction (Thread * thread)If anything goes wrong, this function returns kDefault to indicate nothing special should happen.
The calling code would then either stop or continue as it would normally.
Defined at line 58 of file ../../src/developer/debug/zxdb/client/function_step.cc
-
fxl::RefPtr<BaseType> MakeUnsignedChar8Type ()Defined at line 51 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
void ResolveMember (const fxl::RefPtr<EvalContext> & context, const ExprValue & base, const FoundMember & member, EvalCallback cb)Resolves a member given a collection (class/struct/union) and either a record for a variable
within that collection (in this case the data member must be on the class itself, not on a base
class), or a name of a member.
These will be synchronous in most cases, but resolving static members may require requesting the
memory from the target which will force an asynchronous result.
The FoundMember may have no data member in it. If so, calls the callback with an error (this is
so callers don't have to type check the inputs).
Defined at line 223 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
void AddAllTemplateParametersToName (std::string & name, const std::vector<LazySymbol> & template_params)Defined at line 155 of file ../../src/developer/debug/zxdb/symbols/symbol_utils.cc
-
VariableLocation DecodeDwarf4LocationList (TargetPointer unit_base_addr, cpp20::span<const uint8_t> data, const UncachedLazySymbol & source)Low-level decode for a DWARF 4 variable location description. The data should start at the
beginning of the location list to parse, and cover as much data as the location list could
possibly cover (normally the end of the .debug_loc section).
The source is the symbol that created this location entry, it will be passed to the
VariableLocation.
On error this will return an empty VariableLocation.
Defined at line 187 of file ../../src/developer/debug/zxdb/symbols/dwarf_location.cc
-
Err AssertRunningTarget (ConsoleContext * context, const char * command_name, Target * target)Ensures the target is currently running (it has a current Process associated with it. If not,
generates an error of the form "<command_name> requires a running target".
Defined at line 63 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
std::string GetDebugTreeForFormatNode (const FormatNode * node)Fills the node's contents into a text structure, with each level indented two spaces. This does
not fill node values or describe the nodes.
<name
> =
<type
>,
<description
>
<child
name> =
<child
type>,
<child
description>
<child
level 2 name> =
<child
2 type>,
<child
2 description>
<child
name> =
<child
type>,
<child
description>
Defined at line 58 of file ../../src/developer/debug/zxdb/expr/format_test_support.cc
-
ErrOr<ExecutionScope> ParseExecutionScope (ConsoleContext * console_context, const std::string & input)Parses an execution scope argument. This is exposed for unit testing.
Defined at line 760 of file ../../src/developer/debug/zxdb/console/verbs_settings.cc
-
ErrOrValue ResolveSingleVariantValue (const fxl::RefPtr<EvalContext> & context, const ExprValue & value, fxl::RefPtr<DataMember> * member)Extracts the first variant value in the given collection. Practically, this means it returns
the current active data from a Rust enum.
DWARF supports multiple variant values but the only case we have for this is Rust enums which
only have a single value (it will be a tuple or a struct if the user wants more than one thing
stored in the enum). This function will fail if there is more than one data member in the
variant.
The current active data member can be returned optionally.
Defined at line 180 of file ../../src/developer/debug/zxdb/expr/resolve_variant.cc
-
std::string NormalizePath (const std::string & path)Resolves "." and ".." components to the extent possible. If there are leading "..", then they
will be preserved.
Defined at line 45 of file ../../src/developer/debug/zxdb/common/file_util.cc
-
ErrOr<FormatSymbolOptions> GetFormatSymbolOptionsFromCommand (const Command & cmd, int expr_switch)Reads the FormatSymbolOptions for the given command. The expr_switch is the switch index that
specifies how DWARF expressions should be printed.
Defined at line 529 of file ../../src/developer/debug/zxdb/console/format_symbol.cc
-
fxl::RefPtr<BaseType> MakeRustCharType ()Defined at line 55 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
void ResolveMember (const fxl::RefPtr<EvalContext> & context, const ExprValue & base, const ParsedIdentifier & identifier, EvalCallback cb)Defined at line 230 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
ErrOr<VariableDeclTypeInfo> GetVariableDeclTypeInfo (ExprLanguage lang, fxl::RefPtr<Type> concrete_type)Decodes any auto type specifiers for the variable declaration of the given type.
Defined at line 134 of file ../../src/developer/debug/zxdb/expr/variable_decl.cc
-
std::string_view SpecialIdentifierToString (SpecialIdentifier i)The input and output strings should includes the "$" but no parens, so kMain -> "$main" and kPlt
-> "$plt". SpecialIdentifierToString returns the empty string for kNone and "$" for kEscaped.
StringToSpecialIdentifier return kNone if there's no match.
Defined at line 60 of file ../../src/developer/debug/zxdb/symbols/identifier_base.cc
-
fxl::RefPtr<ModifiedType> MakeRustCharPointerType ()Defined at line 61 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
std::vector<std::string> GetCommandCompletions (const std::string & input, const FillCommandContextCallback & fill_context)It would be nice to do more context-aware completions. For now, just
complete based on all known nouns and verbs.
Defined at line 611 of file ../../src/developer/debug/zxdb/console/command_parser.cc
-
SpecialIdentifier StringToSpecialIdentifier (std::string_view name)Defined at line 67 of file ../../src/developer/debug/zxdb/symbols/identifier_base.cc
-
void FillFormatNodeDescription (FormatNode * node, const FormatOptions & options, const fxl::RefPtr<EvalContext> & context, fit::deferred_callback cb)Fills the description and children of a FormatNode based on the current value().
The callback will be called on completion. This may occur synchronously (within the stack of this
function call) or in the future. If it happens in the future, the node will be referenced by weak
pointer so the caller does not have to worry about lifetime issues.
The callback will always be issued, even if the node is destroyed. Callers should keep a weak
pointer to the node if they do not control its lifetime.
Defined at line 647 of file ../../src/developer/debug/zxdb/expr/format.cc
-
VisitResult VisitClassHierarchy (const Collection * starting, fit::function<VisitResult (const InheritancePath &)> cb)Calls the callback for all classes in the inheritance hierarchy of the given collection. This
works backwards, first calling the callback with the |starting| input, then a depth-first
traversal of the inheritance tree.
The callback gives the path from the input derived class to the current base class being
iterated over.
Watch out, the classes in the InheritancePath may not necessarily be concrete so call
GetConcreteType() as necessary.
Defined at line 121 of file ../../src/developer/debug/zxdb/symbols/visit_scopes.cc
-
std::time_t GetFileModificationTime (const std::string & path)Returns the modification time of the given file, or 0 if it could not be determined.
Defined at line 49 of file ../../src/developer/debug/zxdb/common/file_util.cc
-
size_t UnicodeCharWidth (const std::string & str)Returns the number of Unicode characters in the given UTF-8 string. This attempts to predict how
many spaces the given string will take up when printed to a Unicode-aware text console.
NOTE: This function currently doesn't handle any combining accents which it seems modern Linux
terminals do handle. It obviously doesn't handle complicated things like ligatures and Arabic
which we assume you're not typing into the console and expecting to be aligned anyway.
Defined at line 56 of file ../../src/developer/debug/zxdb/console/string_util.cc
-
void CoerceArraySize (const fxl::RefPtr<EvalContext> & eval_context, const ExprValue & array, size_t new_size, EvalCallback cb)Forces an array to one of a different size.
Converts a pointer to a static array of the given size by fetching the corresponding memory.
Converts a static array's type to represent the new size. For example, resizing an array of
type "double[16]" to length 8 will copy the data and the new type will be "double[8]". To
support expanding the length of a static array, the memory will be fetched according to the
source of the static array (if there is no memory as the source of the array it will fail).
Defined at line 246 of file ../../src/developer/debug/zxdb/expr/resolve_array.cc
-
void ResolvePointer (const fxl::RefPtr<EvalContext> & eval_context, const ExprValue & pointer, EvalCallback cb)Similar to the above but the pointer and type comes from the given ExprValue, which is assumed to
be a pointer type. If it's not a pointer type, the callback will be issued with an error.
This will automatically cast to a derived type if the EvalContext requests it, so the resulting
object may be a different type or from a different address than the input pointer value.
Defined at line 108 of file ../../src/developer/debug/zxdb/expr/resolve_ptr_ref.cc
-
OutputBuffer FormatIdentifier (const Identifier & str, const FormatIdentifierOptions & options)Formats the given string as an identifier, with any template annotations dimmed.
If |show_global_qual| is set, the output will be preceeded with "::" if it's globally qualified.
Otherwise, global qualifications on the identifier will be ignored. Callers may want to ignore
the global qualifiers in cases where it's clear in context whether the name is global or not.
For example, function names in backtraces are always global and adding "::" to everything adds
noise.
If |bold_last| is set, the last identifier component will be bolded. This is best when printing
function names.
Defined at line 187 of file ../../src/developer/debug/zxdb/console/format_name.cc
-
bool DoesBeginRustLifetime (std::string_view input)Returns true if the string begins a Rust lifetime literal. This requires some disambiguation
because 'a is a lifetime but 'a' is a character.
Defined at line 244 of file ../../src/developer/debug/zxdb/expr/parse_string.cc
-
fxl::RefPtr<ModifiedType> MakeCharPointerType ()Makes a "char*" as for C strings using a signed 8-bit character.
Defined at line 68 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
void DwarfExprEvalToValue (const fxl::RefPtr<EvalContext> & context, DwarfExprEval & eval, fxl::RefPtr<Type> type, EvalCallback cb)Helper function which, given a completed DwarfExprEval, attempts to convert its result to the
given type and executes the given callback.
Defined at line 24 of file ../../src/developer/debug/zxdb/expr/eval_dwarf_expr.cc
-
Err ValueToAddressAndSize (const fxl::RefPtr<EvalContext> & context, const ExprValue & value, uint64_t * address, std::optional<uint32_t> * size)Determines the memory location that the given value refers to. It is used by the frontend to get
the address of what the user meant when they typed an expression.
If the result has a type with a known size, that size will be put into *size. Otherwise it will
be untouched (for example, raw numbers will be converted to pointers that have no intrinsic
size).
TODO(bug 44074) support non-pointer values and take their address implicitly.
Defined at line 100 of file ../../src/developer/debug/zxdb/expr/expr.cc
-
std::string GetDebugTreeForValue (const fxl::RefPtr<EvalContext> & eval_context, const ExprValue & value, const FormatOptions & opts)Formats and describes the given ExprValue according to GetDebugTreeForExprValue() above.
Note that normally the root name will be empty so it will start with " = <type>, <description>"
Defined at line 64 of file ../../src/developer/debug/zxdb/expr/format_test_support.cc
-
std::vector<LineMatch> GetAllLineTableMatchesInUnit (const LineTable & line_table, const std::string & full_path, int line)Searches the given line table for the given file/line. Finds the smallest line greater than or
equal to the input line and returns all instances of that line.
Defined at line 24 of file ../../src/developer/debug/zxdb/symbols/find_line.cc
-
OutputBuffer FormatIdentifier (const ParsedIdentifier & str, const FormatIdentifierOptions & options)This annoyingly duplicates Identifier::GetName but is required to get syntax highlighting for all
the components.
Defined at line 194 of file ../../src/developer/debug/zxdb/console/format_name.cc
-
const char * SyntaxToString (Syntax )Defined at line 116 of file ../../src/developer/debug/zxdb/console/output_buffer.cc
-
std::vector<OutputBuffer> DescribeRegister (const debug::RegisterValue & reg, TextForegroundColor color)Formats the register and returns a vector with the following information:
- name
- hex value
- comment (may be empty if inapplicable).
Defined at line 172 of file ../../src/developer/debug/zxdb/console/format_register.cc
-
const char * VectorRegisterFormatToString (VectorRegisterFormat fmt)Defined at line 29 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
-
void EvalGlobalInputLocation (const fxl::RefPtr<EvalContext> eval_context, const Location & location, const std::string & input, fit::callback<void (ErrOr<InputLocation>, std::optional<uint32_t>)> cb)Like ParseGlobalInputLocation() but also accepts expressions preceeded with a "*". Because
evaluating expressions may be asynchronous, this function is too.
If the input location is an expression and the thing it points to has an intrinsic size, that
size will be passed as the second parameter of the callback.
The callback follows "expression" rules in that it will be evaluted from within the stack of this
function if the result is synchronously available.
Defined at line 143 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
OutputBuffer FormatLocation (const Location & loc, const FormatLocationOptions & opts)Formats the location.
Defined at line 28 of file ../../src/developer/debug/zxdb/console/format_location.cc
-
void FormatNumericNode (FormatNode * node, const FormatOptions & options)Formatter for numbers. This assumes the type of the value in the given node has already been
determined to be numeric. This may also be called as a fallback for things like enums.
Defined at line 674 of file ../../src/developer/debug/zxdb/expr/format.cc
-
fxl::RefPtr<DataMember> GetVtableMember (const Collection * coll)Determines if the given collection type has a vtable pointer and returns it. This does not
look in base classes because the vtable goes with the exact class it's on.
This function can also be used to determine if the collection might possibly have a derived class
it can be converted to. If this function returns null, PromotePtrRefToDerived is guaranteed to
be a no-op.
The input type must be concrete.
Defined at line 214 of file ../../src/developer/debug/zxdb/expr/resolve_base.cc
-
LocalAgentResult ForkLocalAgent ()Creates a debug_agent by forking this process and running the agent code in the resulting
process.
Defined at line 55 of file ../../src/developer/debug/zxdb/local_agent.cc
-
bool SpecialIdentifierHasData (SpecialIdentifier i)Returns true if the given special identifier has data associated with it, e.g. "$plt(foo)".
Returns false if there are no parens required. Returns true for kNone since in that case it's
only the data.
Defined at line 74 of file ../../src/developer/debug/zxdb/symbols/identifier_base.cc
-
Err AssertStoppedThreadWithFrameCommand (ConsoleContext * context, const Command & cmd, const char * command_name, bool validate_nounds)Validates a command that applies to a single stopped thread with a valid frame.
If validate_nouns is set, only thread and process nouns may be specified (these are most common
for commands that operate on threads) for the "Thread" variant.
If not, generates an error of the form "<command_name> requires a stopped thread".
Defined at line 72 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
bool PathStartsWith (const std::filesystem::path & path, const std::filesystem::path & base)Check if a path starts with another path. Return false if either one is relative.
The input may not be normalized, e.g.,
PathStartsWith("/path/to/build/dir/../../source.cc", "/path/to/build/dir") => true
Defined at line 58 of file ../../src/developer/debug/zxdb/common/file_util.cc
-
std::optional<VectorRegisterFormat> StringToVectorRegisterFormat (const std::string & str)Converts back from VectorRegisterFormatToString. A nullopt return value indicates failure.
Defined at line 60 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
-
bool operator< (const FileLine & a, const FileLine & b)Comparison function for use in set and map.
Defined at line 26 of file ../../src/developer/debug/zxdb/symbols/file_line.cc
-
void FormatTable (const std::vector<ColSpec> & spec, const std::vector<std::vector<std::string>> & rows, OutputBuffer * out)Formats the given rows in the output as a series of horizontally aligned (if
possible) columns.
If the number of items in a row is less than the number of items in the
spec, the last element in the rows will occupy the remaining space and it
won't affect other columns (like you used colspan in HTML). Such items will
always be left-aligned.
Defined at line 115 of file ../../src/developer/debug/zxdb/console/format_table.cc
-
void AnalyzeMemory (const AnalyzeMemoryOptions & opts, fit::callback<void (const Err &, OutputBuffer, uint64_t)> cb)Runs a stack analysis on the given thread. When the analysis is complete, the callback will be
issued with the output and the address immediately following the last one analyzed (this is so
the caller knows the aligned address to continue at if desired).
On error, the Err will be set, the output buffer will be empty, and next_addr will be 0.
Defined at line 348 of file ../../src/developer/debug/zxdb/console/analyze_memory.cc
-
ErrOrValue ResolveNonstaticMember (const fxl::RefPtr<EvalContext> & context, const ExprValue & base, const FoundMember & member)Synchronous versions of ResolveMember for cases where the value is known not to be an extern
(static) member or on a derived class. This is generally used when hardcoding support for known
structures.
The variant that takes an initializer list will interpret the strings as identifiers, parse
them, and resolve a nested series of members using those strings. For example, if the input
is {"a", "b"} this will resolve "base.a.b". This is used for hardcoding some printers.
Defined at line 238 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
void GetSubstatementCallsForLine (Process * process, const Location & loc, fit::function<void (const Err &, std::vector<SubstatementCall>)> cb)Extracts all calls present in the line of code on the given address. Calls both before and after
the address will be considered, as long as it is within the contiguous range of addresses
covering that line. Other address ranges corresponding to the same line will not be considered.
A symbolized location should be provided. This function will be used to compute inline calls.
This must be passed in because the location in the inline call chain could be ambiguous (see the
Stack object for more about ambiguous inlines).
This function needs to fetch memory so must be asynchronous. The Err in the callback will be set
for transport errors. If there's no symbol information it will not be considered an error.
Rather, the result vector will be empty.
Defined at line 128 of file ../../src/developer/debug/zxdb/client/substatement.cc
-
std::filesystem::path PathRelativeTo (const std::filesystem::path & path, const std::filesystem::path & base)Compute the relative path from base. Both inputs must be absolute.
Defined at line 80 of file ../../src/developer/debug/zxdb/common/file_util.cc
-
void FormatTable (const std::vector<ColSpec> & spec, const std::vector<std::vector<OutputBuffer>> & rows, OutputBuffer * out)Defined at line 120 of file ../../src/developer/debug/zxdb/console/format_table.cc
-
IntegerPrefix ExtractIntegerPrefix (std::string_view * s)Checks for a sign and base prefix for a number in the given string view. It does not check for
overall number validity.
The number prefix will be trimmed from the given string view so it contains only the part of the
number after the prefix (if any). The base of the number will be returned.
It is assumed whitespace has already been trimmed.
If there is no prefix (including if it's not a valid number), it will report positive base 10 and
not trim anything.
Defined at line 209 of file ../../src/developer/debug/zxdb/expr/number_parser.cc
-
Err AssertAllStoppedThreadsCommand (ConsoleContext * context, const Command & cmd, const char * command_name, bool validate_nounds)Asserts that all threads of the process for the given command are stopped. This does not check if
the frames have full stacks.
Defined at line 102 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
ErrOrValue ResolveNonstaticMember (const fxl::RefPtr<EvalContext> & context, const ExprValue & base, const ParsedIdentifier & identifier)Defined at line 245 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
void EmitVariableInitializerOps (const VariableDeclTypeInfo & decl_info, uint32_t local_slot, fxl::RefPtr<ExprNode> init_expr, VmStream & stream)Emits bytecode to the given stream to handle the following constructs:
int i; (C, null init_expr)
int i = 5 * something; (C, init_expr)
let i: i32; (Rust, explicit type with no init_expr).
let i = 99; (Rust, init_expr with null type).
Since this function does not take an EvalContext the input type must be concrete if it is
supplied. It may be null to indicate "auto" (takes the type from the init expression).
Defined at line 173 of file ../../src/developer/debug/zxdb/expr/variable_decl.cc
-
ExprValue VectorRegisterToValue (debug::RegisterID id, VectorRegisterFormat fmt, std::vector<uint8_t> data)Converts the given vector register data to an array of the given format.
Defined at line 94 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
-
std::string TypeNameForVtableSymbolName (const std::string & sym_name)Given an unmangled symbol name for a vtable symbol, returns the type name of the symbol.
The input will be something like "vtable for MyClass" and this will return "MyClass".
Returns the empty string on failure.
Defined at line 227 of file ../../src/developer/debug/zxdb/expr/resolve_base.cc
-
TemplateTypeResult ExtractTemplateType (const std::vector<ExprToken> & tokens, size_t begin_token)Currently it assumes all operators can be put next to each other without affecting meaning. When
we're canonicalizing types for the purposes of string comparisons, this is almost certainly the
case. If we start using the output from this function for more things, we'll want to handle these
cases better.
Defined at line 60 of file ../../src/developer/debug/zxdb/expr/template_type_extractor.cc
-
bool DwarfLangIsCFamily (DwarfLang lang)Returns true for any version of C, C++, and Objective C.
Defined at line 9 of file ../../src/developer/debug/zxdb/symbols/dwarf_lang.cc
-
cmdline::Status ParseCommandLine (int argc, const char *[] argv, CommandLineOptions * options, std::vector<std::string> * params)Parses the given command line into options and params.
Returns an error if the command-line is badly formed. In addition, --help
text will be returned as an error.
Defined at line 152 of file ../../src/developer/debug/zxdb/console/command_line_options.cc
-
OutputBuffer FormatFileName (const std::string & file_name, const TargetSymbols * optional_target_symbols)Formats the file or file/line.
The TargetSymbols pointer is used to find the shortest unique way to reference the file name. If
target_symbols is null, the full file path will always be included.
-
fxl::RefPtr<Collection> MakeCollectionType (DwarfTag type_tag, const std::string & struct_name, std::initializer_list<NameAndType> members)Creates a collection type with the given members.
type_tag is one of DwarfTag::k*Type appropriate for collections (class, struct, union).
For structs and classes, each member will be placed sequentially in the struct starting from
offset 0, and advancing according to the size of the member. For unions, each member will be at
offset 0.
Defined at line 72 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
VariableLocation DecodeDwarf5LocationList (TargetPointer unit_base_addr, cpp20::span<const uint8_t> data, fit::function<std::optional<TargetPointer> (uint64_t)> & index_to_addr, const UncachedLazySymbol & source)Low-level decode for a DWARF 5 variable location description. The data should start at the
beginning of the location list to parse, and cover as much data as the location list could
possibly cover (normally the end of the .debug_loclist section).
The index_to_addr function will convert an "addrx" index into the .debug_addr table to the
corresponding module-relative address. It should return nullopt on failure.
The source is the symbol that created this location entry, it will be passed to the
VariableLocation.
On error this will return an empty VariableLocation.
Defined at line 249 of file ../../src/developer/debug/zxdb/symbols/dwarf_location.cc
-
fxl::RefPtr<Type> FindTypeDefinition (const FindNameContext & context, const Type * type)Looks for a type definition matching the name of the input type. If none exists, returns the
input type. The only time this will return null is if the input is null. This will search for an
exact match on the name. Most code will want to use GetConcreteType() above which strips C-V
qualifications.
This is used to ensure that the type is not a foward-declaration (if possible).
Defined at line 67 of file ../../src/developer/debug/zxdb/expr/resolve_type.cc
-
bool operator== (const FileLine & a, const FileLine & b)These compare only the file and line number, not the compilation directory. The compilation
directory is less consistently available (as of this writing it's not exposed by the line table),
so using it for equality will result in incorrect behavior in some cases.
Defined at line 31 of file ../../src/developer/debug/zxdb/symbols/file_line.cc
-
ErrOrValue ResolveNonstaticMember (const fxl::RefPtr<EvalContext> & context, const ExprValue & base, std::initializer_list<std::string> names)Defined at line 253 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
void EnsureResolveReference (const fxl::RefPtr<EvalContext> & eval_context, ExprValue value, EvalCallback cb)Ensures that the value is not a reference type (rvalue or regular). The result will be an
ExprValue passed to the callback that has any reference types stripped.
If the input ExprValue does not have a reference type, calls the callback immediately (from
within the calling function's stack frame) with the input.
If the value is a reference type, it will be resolved and the value will be the value of the
referenced data.
Defined at line 125 of file ../../src/developer/debug/zxdb/expr/resolve_ptr_ref.cc
-
ThreadStackUsage GetThreadStackUsage (ConsoleContext * console_context, const std::vector<debug_ipc::AddressRegion> & map, Thread * thread, uint64_t unsafe_stack_pointer)The unsafe stack pointer can be 0 to indicate there is no unsafe stack.
Defined at line 373 of file ../../src/developer/debug/zxdb/console/commands/verb_stack_usage.cc
-
const char * DwarfLangToString (DwarfLang lang)Defined at line 24 of file ../../src/developer/debug/zxdb/symbols/dwarf_lang.cc
-
bool operator!= (const FileLine & a, const FileLine & b)Defined at line 36 of file ../../src/developer/debug/zxdb/symbols/file_line.cc
-
OutputBuffer FormatFileLine (const FileLine & file_line, const TargetSymbols * optional_target_symbols)Defined at line 128 of file ../../src/developer/debug/zxdb/console/format_location.cc
-
fxl::RefPtr<Type> DerivedTypeForVtable (const fxl::RefPtr<EvalContext> & context, TargetPointer ptr)Computes the derived type given a vtable pointer, if possible. Returns null on failure.
Defined at line 233 of file ../../src/developer/debug/zxdb/expr/resolve_base.cc
-
void FormatCharArrayNode (FormatNode * node, fxl::RefPtr<Type> char_type, const uint8_t * data, size_t length, bool length_was_known, bool truncated)Formatters for strings. These are public so they can be shared by the pretty-printers.
The "char pointer" variant can take a known string length or not. If one is not given, the
function will look for a null-terminated string.
TODO(brettw) we probably want a more general way for pretty-printers to call into our default
code for handling certain types.
Defined at line 737 of file ../../src/developer/debug/zxdb/expr/format.cc
-
std::optional<StringOrCharLiteralBegin> DoesBeginStringOrCharLiteral (ExprLanguage lang, std::string_view input, size_t cur)Returns true if the given location in the input string starts with a string or character literal.
In Rust, this will return nullopt for lifetime annotations like 'foo, so the caller can assume
anything starting with ' that this returns false for is a lifetime.
Returns a StringOrCharLiteralBegin if the current location starts a string or character. This can
be passed into ParseString if so.
When parsing a raw string prefix, we may encounter a state where we know it should be a string
prefix but it's malformed. Currently we don't report the error and we say it's not a string.
The return value could be converted to a tri-state (not a string, string, error) if needed.
Defined at line 255 of file ../../src/developer/debug/zxdb/expr/parse_string.cc
-
const std::map<Noun, NounRecord> & GetNouns ()Returns all known nouns. The contents of this map will never change once it is called.
Defined at line 864 of file ../../src/developer/debug/zxdb/console/nouns.cc
-
fxl::RefPtr<Type> FindTypeDefinition (const FindNameContext & context, ParsedIdentifier looking_for)Looks for a type definition matching the given fully-qualified name. Returns null if not found.
Defined at line 80 of file ../../src/developer/debug/zxdb/expr/resolve_type.cc
-
std::vector<SubstatementCall> GetSubstatementCallsForMemory (const ArchInfo * arch_info, const ProcessSymbols * symbols, const Location & loc, const AddressRanges & ranges, const MemoryDump & mem)Extracts all physical function calls (not inlines) for the given memory region in the given
ranges list. This assumes the memory region starts at an instruction boundary. The ranges list
can contain many entries and can be discontiguous as long as the memory dump covers them.
Defined at line 218 of file ../../src/developer/debug/zxdb/client/substatement.cc
-
size_t CheckHexPrefix (const std::string & s)Checks if the given string starts with a hexadecimal prefix ("0x" or "0X"). If it does, returns
the first index into the array of the string FOLLOWING the prefix. If there is no prefix, returns
0. If there is only the prefix and nothing following the returned value will be s.size().
Defined at line 121 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
const char * CastTypeToString (CastType )Defined at line 588 of file ../../src/developer/debug/zxdb/expr/cast.cc
-
void FormatCharPointerNode (FormatNode * node, uint64_t ptr, const Type * char_type, std::optional<uint32_t> length, const FormatOptions & options, const fxl::RefPtr<EvalContext> & eval_context, fit::deferred_callback cb)Defined at line 776 of file ../../src/developer/debug/zxdb/expr/format.cc
-
fxl::RefPtr<Collection> MakeCollectionTypeWithOffset (DwarfTag type_tag, const std::string & type_name, uint32_t first_member_offset, std::initializer_list<NameAndType> members)Like MakeCollectionType but takes an offset for the first data member to start at. Subsequent
data members start from there (for unions they will all start from there).
Defined at line 77 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
Err StringToInt (const std::string & s, int * out)Defined at line 127 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
std::string NounToString (Noun n)Converts the given noun to the canonical name.
Defined at line 876 of file ../../src/developer/debug/zxdb/console/nouns.cc
-
void AppendLineMatchesForInlineCalls (const CodeBlock * block, const std::string & full_path, int line, const Function * block_fn, std::vector<LineMatch> * accumulator)Recursively searches the given code block (normally a function for the first call) for inlined
function calls whose call location could match the given file/line. The results will be appended
to the given accumulator.
This is used to workaround the Clang bug
https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=112203
where it does not emit line table entries for the call location of an inline call. See where this
function is called from in ModuleSymbolsImpl for more.
The function_die_offset is the function corresponding to the input block. When the input block is
a function (as the initial call will be), this should be set to code_block->GetDieOffset(). But
for recursive calls, some blocks will be lexical scopes and we want to maintain the DIE offset
of the parent *function* containing it.
Defined at line 93 of file ../../src/developer/debug/zxdb/symbols/find_line.cc
-
OutputBuffer FormatFile (const std::string & file_name, const TargetSymbols * optional_target_symbols)Defined at line 113 of file ../../src/developer/debug/zxdb/console/format_location.cc
-
Err PopulateVariableValues (Frame * frame, const dap::VariablesRequest & req, DebugAdapterContext * ctx, std::function<void (dap::ResponseOrError<dap::VariablesResponse>)> callback, std::map<std::string, fxl::RefPtr<Variable>> & vars)Evaluate variable value and fill its descriptions.
Defined at line 130 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_variables.cc
-
Err StringToUint32 (const std::string & s, uint32_t * out)Defined at line 172 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
const char * VmOpTypeToString (VmOpType op)Converts the operation to a string/stream.
Defined at line 11 of file ../../src/developer/debug/zxdb/expr/vm_op_type.cc
-
int ConsoleMain (int argc, const char *[] argv)Defined at line 119 of file ../../src/developer/debug/zxdb/main.cc
-
Err StringToInt64 (const std::string & s, int64_t * out)Defined at line 142 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
void ResolveMemberByPointer (const fxl::RefPtr<EvalContext> & context, const ExprValue & base_ptr, const FoundMember & found_member, EvalCallback cb)The variant takes an ExprValue which is a pointer to the base/struct or class. Because it fetches
memory it is always asynchronous.
Since it's given a FoundMember, this can not check for members of derived classes. Use the
version that takes an Identifier if you want this capability.
Defined at line 270 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
Err StringToUint64 (const std::string & s, uint64_t * out)Defined at line 186 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
fxl::RefPtr<AsyncOutputBuffer> FormatStack (Thread * thread, const FormatStackOptions & opts)Generates the list of frames from the given Thread to the console. This will complete
asynchronously. The current frame will automatically be queried and will be indicated.
This will request the full frame list from the agent if it has not been synced locally.
Defined at line 153 of file ../../src/developer/debug/zxdb/console/format_frame.cc
-
const NounRecord * NounToRecord (Noun n)Converts the given noun its record, if any.
Defined at line 884 of file ../../src/developer/debug/zxdb/console/nouns.cc
-
std::ostream & operator<< (std::ostream & , VmOpType op)Defined at line 44 of file ../../src/developer/debug/zxdb/expr/vm_op_type.cc
-
void DescribeFormatNodeForConsole (FormatNode * node, const ConsoleFormatOptions & options, fxl::RefPtr<EvalContext> context, fit::deferred_callback cb)Recursively describes the given format node according to the given settings. Executes the given
callback on completion or if the node is destroyed before formatting is done.
Defined at line 614 of file ../../src/developer/debug/zxdb/console/format_node_console.cc
-
ErrOr<std::string> ParseStringOrCharLiteral (std::string_view input, const StringOrCharLiteralBegin & info, size_t * cur, size_t * error_location)Parses a string or character literal starting at index |*cur| inside |input|. On error, the
|*error_location| will be set to the byte that goes along with the error. The info should have
been computed by DoesBeginStringLiteral().
Defined at line 294 of file ../../src/developer/debug/zxdb/expr/parse_string.cc
-
void CastExprValue (const fxl::RefPtr<EvalContext> & eval_context, CastType cast_type, const ExprValue & source, const fxl::RefPtr<Type> & dest_type, const ExprValueSource & dest_source, EvalCallback cb)Casts to a given type using a specific set of casting rules.
The dest_source is an optional specification of what "source location" the returned value should
have. For the default behavior, use an empty ExprValueSource().
Defined at line 604 of file ../../src/developer/debug/zxdb/expr/cast.cc
-
OutputBuffer FormatFunctionName (const Function * function, const FormatFunctionNameOptions & options)Formats the function name with syntax highlighting.
It will apply some simple rewrite rules to clean up some symbols.
If optional_target_symbols is provided it can provide extra cleanup for some generated lambda
names by using the shortest possible unique file name.
Defined at line 151 of file ../../src/developer/debug/zxdb/console/format_name.cc
-
Err GetPointedToType (const fxl::RefPtr<EvalContext> & eval_context, const Type * input, fxl::RefPtr<Type> * pointed_to, PointedToOptions option)Verifies that |input| type is a pointer and fills the pointed-to type into |*pointed_to|. In
other cases, returns an error. The input type can be null (which will produce an error) or
non-concrete (const, forward definition, etc.) so the caller doesn't have to check.
The returned type may not necessarily be concrete (need to preserve, const, etc.).
The |options| parameter controls whether or not it is allowed to return a void type in
|pointed_to|. If kIncludeVoid is passed here, a void* as |input| will not return an error, and
|pointed_to| will be null, which must be checked before further usage.
Defined at line 144 of file ../../src/developer/debug/zxdb/expr/resolve_ptr_ref.cc
-
fxl::RefPtr<Collection> MakeDerivedClassPair (DwarfTag type_tag, const std::string & base_name, std::initializer_list<NameAndType> base_members, const std::string & derived_name, std::initializer_list<NameAndType> derived_members)Makes a two collections, one a base class of the other, and returns the derived type.
type_tag is one of DwarfTag::k*Type appropriate for collections (class, struct, union).
Defined at line 110 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
const std::map<std::string, Noun> & GetStringNounMap ()Returns the mapping from possible inputs to the noun. This is an inverted version of the map
returned by GetNouns().
Defined at line 892 of file ../../src/developer/debug/zxdb/console/nouns.cc
-
void FormatArrayNode (FormatNode * node, const ExprValue & value, int elt_count, const Type * erased_type, const FormatOptions & options, const fxl::RefPtr<EvalContext> & eval_context, fit::deferred_callback cb)Formats an array with a known length. This is for non-char arrays (which are special-cased in
FormatCharArrayNode).
The value is given rather than being extracted from the node so it can be different. It can be
either an Array symbol type or a pointer.
Defined at line 843 of file ../../src/developer/debug/zxdb/expr/format.cc
-
VisitResult VisitDataMembers (const Collection * collection, const VisitDataMembersCallback & cb, int max_items)Defined at line 127 of file ../../src/developer/debug/zxdb/symbols/visit_scopes.cc
-
Err ReadUint64Arg (const Command & cmd, size_t arg_index, const char * param_desc, uint64_t * out)Reads an int64 from the given index of the command args. Returns an error if there are not enough
args, or if the value isn't an int64.
The param_desc will be used in the error string, for example "process koid".
Defined at line 216 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
fxl::RefPtr<AsyncOutputBuffer> FormatFrame (const Frame * frame, const FormatFrameOptions & opts, int id)Formats one frame using the long format. Since the long format includes function parameters which
are computed asynchronously, this returns an AsyncOutputBuffer.
This does not append a newline at the end of the output.
Defined at line 171 of file ../../src/developer/debug/zxdb/console/format_frame.cc
-
OutputBuffer FormatNodeForConsole (const FormatNode & node, const ConsoleFormatOptions & options)Formats the given FormatNode for the console. The string will not be followed by a newline.
This assumes the node has been evaluated and described as desired by the caller so the result
can be synchronously formatted and returned.
Defined at line 619 of file ../../src/developer/debug/zxdb/console/format_node_console.cc
-
void ExecuteNoun (const Command & cmd, fxl::RefPtr<CommandContext> cmd_context)Handles execution of command input consisting of a noun and no verb. For example "process",
"process 2 thread", "thread 5".
Defined at line 904 of file ../../src/developer/debug/zxdb/console/nouns.cc
-
void ResolveMemberByPointer (const fxl::RefPtr<EvalContext> & context, const ExprValue & base_ptr, const ParsedIdentifier & identifier, fit::callback<void (ErrOrValue, const FoundMember &)> cb)Same as previous version but takes the name of the member to find. The callback also provides the
FoundMember corresponding to what the name matched.
This also supports (when requested by the EvalContext) automatically converting base class
pointers to derived class pointers when the derived class is known. It allows "foo->bar" where
"bar" is a data member on the current derived class's instance of foo.
Defined at line 280 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
std::string MinidumpGetBuildId (const crashpad::ModuleSnapshot & mod)Helper to get BuildID from a minidump module.
Defined at line 192 of file ../../src/developer/debug/zxdb/client/minidump_memory.cc
-
fxl::RefPtr<CompileUnit> MakeRustUnit ()Setting this compile unit as the parent of a symbol will mark it as having the Rust language.
Defined at line 124 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
std::string ThreadStateToString (std::optional<debug_ipc::ThreadRecord::State> state, debug_ipc::ThreadRecord::BlockedReason blocked_reason)Defined at line 229 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
fxl::RefPtr<AsyncOutputBuffer> FormatAllThreadStacks (const std::vector<Thread *> & threads, const FormatStackOptions & opts, fxl::RefPtr<CommandContext> & cmd_context)Defined at line 221 of file ../../src/developer/debug/zxdb/console/format_frame.cc
-
ErrOrValue CastNumericExprValue (const fxl::RefPtr<EvalContext> & eval_context, const ExprValue & source, const fxl::RefPtr<Type> & dest_type, const ExprValueSource & dest_source)A numeric cast handles implicit casts of numeric types. This subset of casting can be synchronous
because it does not need to follow references or virtual inheritance.
Returns an error if the input is non-numeric.
Defined at line 625 of file ../../src/developer/debug/zxdb/expr/cast.cc
-
ErrOr<IntegerSuffix> ExtractIntegerSuffix (std::string_view * s)Checks for a type suffix on a number in the given string view and returns the suffix structure.
It does not check for overall number validity.
On success, the number suffix ("u", "l", "ll") will be trimmed from the given string view so it
contains only the part of the number before the suffix (if any).
It is assumed whitespace has already been trimmed.
If there is no suffix, it will return a signed integer and not trim anything. If the suffix is
invalid, return the error.
Defined at line 251 of file ../../src/developer/debug/zxdb/expr/number_parser.cc
-
Err ParseLocalInputLocation (const ProcessSymbols * optional_process_symbols, const Location & location, const std::string & input, std::vector<InputLocation> * output)The same as ParseGlobalInputLocation() but this will additionally find unqualified functions on
the current class if there is one. For file/line and address based inputs, this will be identical
to ParseGlobalInputLocation().
The Frame* variant will extract the process symbols and current location from the frame if
possible.
In the symbolic name case, it can produce more than one location by qualifying the matched class
member function name so it can be resolved in a global context. It will ALSO return an
InputLocation that corresponds to the global symbol name.
For example, if the input is "Func" this might return two things:
- "::some_namespace::MyClass::Func" (match from current frame).
- "Func" (so all global functions will still be matched when the symbols are queried).
If there's no "local" match or the optional_frame is null, this will return only the second
unmodified "Func" version.
This is designed to return the maximal number of matches given the current context that can
be resolved later without ambiguity (breakpoints will need to match shared libraries loaded
later when the current context won't be known).
The ProcessSymbols pointer can be null in which case this will have the same behavior as
ParseGlobalInputLocation() (this simplifies some callers which need to handle both cases).
Defined at line 174 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
std::string ErrTypeToString (ErrType type)Defined at line 75 of file ../../src/developer/debug/zxdb/common/err.cc
-
void AppendNouns (std::map<Noun, NounRecord> * nouns)Populates the nouns map.
Defined at line 931 of file ../../src/developer/debug/zxdb/console/nouns.cc
-
void FormatPointerNode (FormatNode * node, const ExprValue & value, const FormatOptions & options)Formats a node for a pointer. This function is synchronous.
The value is given rather than taken from the node to support pretty-printing uses.
Defined at line 891 of file ../../src/developer/debug/zxdb/expr/format.cc
-
std::string ExecutionScopeToString (const ConsoleContext * context, const ExecutionScope & scope)Defined at line 244 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
unwinder::Error ErrToUnwinderError (const Err & err)Defined at line 106 of file ../../src/developer/debug/zxdb/common/err.cc
-
const char * TextBackgroundColorToString (TextBackgroundColor )Defined at line 164 of file ../../src/developer/debug/zxdb/console/output_buffer.cc
-
std::vector<LineMatch> GetBestLineMatches (const std::vector<LineMatch> & matches)Filters the set of matches to get all instances of the closest match for the line. Typically this
will result in a maximum of one match per function. It's assumed that the LineMatches are all for
the same file.
LineMatches are only generated for lines that cross the line in question, so the closest
LineMatch for this function is the one with the smallest line number.
The "one per function" rule is because a line can often get broken into multiple line table
entries (sometimes disjoint, sometimes not), and when asking for a line we want the one with the
lowest address. This rule is occasionally violated for cases like lines that contain code
generated around rust await points, and generate line tables that would put a breakpoint on an
invalid instruction (https://github.com/rust-lang/rust/issues/123341). See the comment above
|ResolveInputLineForFile| for details.
Defined at line 135 of file ../../src/developer/debug/zxdb/symbols/find_line.cc
-
fxl::RefPtr<AsyncOutputBuffer> FormatValueForConsole (ExprValue value, const ConsoleFormatOptions & options, fxl::RefPtr<EvalContext> context, const std::string & value_name)Describes and formats the given ExprValue and returns it as an async output buffer. The result
will not be followed by a newline.
If the value_name is given, it will be printed with that name, otherwise it will have no name.
Defined at line 623 of file ../../src/developer/debug/zxdb/console/format_node_console.cc
-
ErrOr<bool> CastNumericExprValueToBool (const fxl::RefPtr<EvalContext> & eval_context, const ExprValue & source)Convience function around CastNumericExprValue() to do an implicit cast to a boolean value. Like
CastNumericExprValue(), this does not follow references.
Returns an error if the input is non-numeric.
Defined at line 640 of file ../../src/developer/debug/zxdb/expr/cast.cc
-
fxl::RefPtr<Variant> MakeRustVariant (const std::string & name, std::optional<uint64_t> discriminant, const std::vector<fxl::RefPtr<DataMember>> & members)Makes a Rust variant that can be put into a VariantPart. Rust Variants have a single data member
that is a struct containing the members passed in which could be empty). So it's got 2 structs.
The variant's single generated data member will be at offset 0 in the containing struct.
Normally the discriminant in the VariantPart and the data members of each Variant start at
offset 0 so they overlap! The passed-in members then go inside this struct, and should be
arranged so they don't overlap the data taken by the discriminant.
Defined at line 131 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
Identifier ToIdentifier (const ParsedIdentifier & parsed)Converts a ParsedIdentifier to an Identifier and vice-versa. Conversion to a ParsedIdentifier may
fail in which case the raw text of each component will be placed into the "name" part.
Defined at line 52 of file ../../src/developer/debug/zxdb/expr/parsed_identifier.cc
-
ParsedIdentifier ToParsedIdentifier (const Identifier & ident)We want to keep the same component structure regardless of what arbitrary strings were contained
in the original. So go one component at a time.
Defined at line 71 of file ../../src/developer/debug/zxdb/expr/parsed_identifier.cc
-
fxl::RefPtr<BaseType> GetBuiltinUnsigned64Type (ExprLanguage lang)Defined at line 160 of file ../../src/developer/debug/zxdb/expr/builtin_types.cc
-
Err PopulateChildren (Frame * frame, const dap::VariablesRequest & req, DebugAdapterContext * ctx, std::function<void (dap::ResponseOrError<dap::VariablesResponse>)> callback)Defined at line 181 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_variables.cc
-
Err ParseLocalInputLocation (const Frame * optional_frame, const std::string & input, std::vector<InputLocation> * output)Defined at line 191 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
ExecutionScope ExecutionScopeForCommand (const Command & cmd)Converts the command context to an execution scope. This will take the "target"/"thread" if
explicitly given. If no globa/target/thread context is explicitly given, defaults to the global.
Defined at line 263 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
void ResolveInherited (const fxl::RefPtr<EvalContext> & context, const ExprValue & value, const InheritancePath & path, fit::callback<void (ErrOrValue)> cb)Takes a collection and an InheritancePath indicating how to get from the value to the desired
base class, and extracts the base class. The |path| should have its derived class be of the type
from |value|, and its base class is the one the caller wants to extract. The path should
represent all intermediate classes.
Defined at line 300 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
void FormatWrapper (FormatNode * node, const std::string & description, const std::string & prefix, const std::string & suffix, const std::string & contained_name, ErrOrValue contained_value)Fills a format node for something that holds another value. This would be used for things like
atomics, optionals, and iterators where there's some indirection.
The node will be given the description, and it will have one child with the given name and value.
For convenience, this allows an value, an error, or a lambda for computing the value.
Defined at line 923 of file ../../src/developer/debug/zxdb/expr/format.cc
-
fxl::RefPtr<AsyncOutputBuffer> FormatVariableForConsole (const Variable * var, const ConsoleFormatOptions & options, fxl::RefPtr<EvalContext> context)Like FormatValueForConsole but evaluates the given variable in the given context to get the
result. The name of the variable will be included.
Defined at line 642 of file ../../src/developer/debug/zxdb/console/format_node_console.cc
-
void FormatWrapper (FormatNode * node, const std::string & description, const std::string & prefix, const std::string & suffix, const std::string & contained_name, FormatNode::GetProgramaticValue value_getter)Defined at line 936 of file ../../src/developer/debug/zxdb/expr/format.cc
-
const std::vector<SwitchRecord> & GetNounSwitches ()Returns the set of all switches valid for nouns. Since a command can have multiple nouns, which
set of switches apply can be complicated.
Currently, when a command lacks a verb, the logic in ExecuteNoun() will prioritize which one the
user meant and therefore, which one the switches will apply to.
If the noun switches start getting more complicated, we will probably want to have a priority
associated with a noun so the parser can figure out which noun is being executed and apply
switches on a per-noun basis.
Defined at line 954 of file ../../src/developer/debug/zxdb/console/nouns.cc
-
Err ResolveBreakpointsForModification (const Command & cmd, const char * command_name, std::vector<Breakpoint *> * output)Find breakpoints to modify. |cmd| is enable/disable/clear with an optional location.
If a location is given, returns all breakpoints at that location.
If no location is provided, returns current active breakpoint, which could be affected
by prefixing "bp <index>" before the command.
Defined at line 272 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
void EvalLocalInputLocation (const fxl::RefPtr<EvalContext> & eval_context, const Frame * optional_frame, const std::string & input, fit::callback<void (ErrOr<std::vector<InputLocation>>, std::optional<uint32_t>)> cb)Like ParseLocalInputLocation() but also accepts expressions preceeded with a "*". Because
evaluating expressions may be asynchronous, this function is too.
If the input location is an expression and the thing it points to has an intrinsic size, that
size will be passed as the second parameter of the callback.
The callback follows "expression" rules in that it will be evaluted from within the stack of this
function if the result is synchronously available.
Defined at line 202 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
size_t GetFunctionPrologueSize (const LineTable & line_table, const Function * function)Computes the size in bytes of the given function's prologue. The line table corresponding to
that address should be passed.
A function prologue is the boilerplate at the beginning that sets up the stack frame. Generally
one will want to skip over this automatically because the local variables and function parameters
won't be readable from inside the prologue. On ARM since a call sets the link register rather
than modifying the stack, the stack pointer won't always be consistent either.
The size is measured from the function's code_ranges().begin(). If a prologue is not found, this
returns 0.
Defined at line 194 of file ../../src/developer/debug/zxdb/symbols/find_line.cc
-
void AppendCEscapedChar (uint8_t ch, std::string * dest)Appends the given byte to the destination, escaping as necessary per C rules.
Defined at line 948 of file ../../src/developer/debug/zxdb/expr/format.cc
-
void ResolveInheritedPtr (const fxl::RefPtr<EvalContext> & context, TargetPointer derived, const InheritancePath & path, fit::function<void (ErrOr<TargetPointer>)> cb)Converts a pointer to a derived class to a pointer to the base class identified by the given
path. This is the same as ResolveInherited() above but operates on pointers to objects rather
than objects themselves.
For common cases this is just a constant offset, but if the inheritance path has virtual
inheritance, this function will compute the result according to the expressions (may require
fetching memory)
Defined at line 341 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
fxl::RefPtr<AsyncOutputBuffer> FormatExpressionsForConsole (const std::vector<std::string> & expressions, const ConsoleFormatOptions & options, fxl::RefPtr<EvalContext> context)Outputs all of the given expressions. The expressions themselves will be displayed as the
"variable name" of each resulting value.
Defined at line 661 of file ../../src/developer/debug/zxdb/console/format_node_console.cc
-
OutputBuffer FormatBreakpoint (const ConsoleContext * context, const Breakpoint * breakpoint, bool show_context)The |show_context| flag will cause some source code to be included annotated with the breakpoint,
or a message about pending breakpoints if there is no location.
Defined at line 338 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
void EvalLocalInputLocation (const fxl::RefPtr<EvalContext> & eval_context, const Location & location, const std::string & input, fit::callback<void (ErrOr<std::vector<InputLocation>>, std::optional<uint32_t>)> cb)Defined at line 212 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
Err PopulateLocalVariables (Frame * frame, const dap::VariablesRequest & req, DebugAdapterContext * ctx, std::function<void (dap::ResponseOrError<dap::VariablesResponse>)> callback)Defined at line 220 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_variables.cc
-
Err PopulateFunctionArguments (Frame * frame, const dap::VariablesRequest & req, DebugAdapterContext * ctx, std::function<void (dap::ResponseOrError<dap::VariablesResponse>)> callback)Defined at line 276 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_variables.cc
-
Err PopulateRegisters (Frame * frame, const dap::VariablesRequest & req, DebugAdapterContext * ctx, std::function<void (dap::ResponseOrError<dap::VariablesResponse>)> callback)Defined at line 301 of file ../../src/developer/debug/zxdb/debug_adapter/handlers/request_variables.cc
-
OutputBuffer FormatInputLocation (const InputLocation & location)Defined at line 438 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
size_t GetFloatTokenLength (ExprLanguage lang, std::string_view input, FloatFollowing * following)Checks if the current input begins with a floating-point literal and returns its length if it
does. Returns 0 if it does not begin a floating point literal. Whether a floating point number
can follow the given token is placed into |*following| (see enum definition).
Whitespace is not stripped so leading whitespace will not be considered a floating point token.
As in C, a leading '-' is not considered part of the token. "-23.5" is a unary '-' operator
applied to a positive floating-point literal.
On success, the identified token may not represent a valid floating-point number. It may have
extra garbage in it, or may be malformed in various ways. It is just the range of text to be
considered a float. See ValueForFloatToken for conversion + validation.
Defined at line 322 of file ../../src/developer/debug/zxdb/expr/number_parser.cc
-
OutputBuffer FormatInputLocations (const std::vector<InputLocation> & location)Defined at line 463 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
fxl::RefPtr<Collection> MakeRustEnum (const std::string & name, std::initializer_list<std::pair<std::string, std::vector<fxl::RefPtr<Type>>>> values)High-level creation of a Rust enum. This will generate a 64-bit disciminant and start numbering
the enum values at 0. The "values" of the enum will all be tuple types.
The "type" for a Rust enum value is always a struct. If there is no data (say for
"Option::None"), the type should be an empty collection. For tuple values, name the struct
members starting with "__0". So this is how "Option<i32>" might be created:
MakeRustEnum("Option", {
{"None", {}},
{"Some", {MakeInt32Type()}}
});
Defined at line 172 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
fxl::RefPtr<EvalContext> GetEvalContextForCommand (const Command & cmd)Returns the best EvalContext for the given command. If there is an available frame, uses that to
registers and local variables can be read. Otherwise falls back to process (read/write memory and
globals only) or generic (calculator-like mode only) contexts.
Defined at line 480 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
const char * TextForegroundColorToString (TextForegroundColor )Defined at line 204 of file ../../src/developer/debug/zxdb/console/output_buffer.cc
-
FloatSuffix StripFloatSuffix (std::string_view * view)Identifies and strips the suffix from the end of a float token. The suffix is assumed to be the
last character of the input.
Defined at line 382 of file ../../src/developer/debug/zxdb/expr/number_parser.cc
-
Err FormatSourceFileContext (const FileLine & file_line, const SourceFileProvider & file_provider, const FormatSourceOpts & opts, OutputBuffer * out)Formats the contents of the given local file name to the output. See FormatSourceFileContext for
error handling.
The build_dir indicates the directory where relative file names will be treated as relative to.
Defined at line 352 of file ../../src/developer/debug/zxdb/console/format_context.cc
-
ErrOrValue ValueForFloatToken (ExprLanguage lang, const ExprToken & token)Given a floating-point token, returns the ExprValue for it if possible.
Defined at line 401 of file ../../src/developer/debug/zxdb/expr/number_parser.cc
-
fxl::RefPtr<Collection> MakeRustEnum (const std::string & name, fxl::RefPtr<DataMember> discriminant, const std::vector<fxl::RefPtr<Variant>> & variants)Low-level creation of a Rust enum.
A rust enum is a collection containing a variant part. The variant part includes a discriminant
and the variants that it selects from. The caller should ensure the data members in the variants
and the discriminant don't overlap.
The result will be sized to the largest variant.
Defined at line 205 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
ErrOrValue ResolveInherited (const fxl::RefPtr<EvalContext> & context, const ExprValue & value, const InheritedFrom * from)Takes a Collection value and a base class inside of it, computes the value of the base class.
This does not support virtual inheritance.
TODO(brettw) these should be removed in preference to the asynchronous version above.
For the version that takes an InheritedFrom, the base class must be a direct base class of the
"value" collection, not an indirect base.
The asynchronous version supports virtual inheritance, while the other variants do not. The
from_symbol_context should be the symbol context associated with the module from which the
InheritedFrom object came. It will be used to evaluate the location expression.
For the version that takes a type and an offset, the type must already have been computed as some
type of base class that lives at the given offset. It need not be a direct base and no type
checking is done as long as the offsets and sizes are valid.
Defined at line 401 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
ErrOrValue ResolveInherited (const fxl::RefPtr<EvalContext> & context, const ExprValue & value, fxl::RefPtr<Type> base_type, uint64_t offset)Defined at line 410 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
std::string ServerStateToString (const SymbolServer::State & state)Defined at line 184 of file ../../src/developer/debug/zxdb/client/symbol_server.cc
-
Err ResolveInputLocations (const ProcessSymbols * process_symbols, const Location & location, const std::string & input, bool symbolize, std::vector<Location> * output)Parses the input and generates a list of matches. No matches will generate an error. This can
take either a pre-parsed InputLocation, or can parse the input itself.
The Frame* variant will extract the process symbols and current location from the frame if
possible.
Set |symbolize| to make the output locations symbolized. This will be slightly slower. If you
just need the addresses, pass false.
The |optional_frame| will be passed for context to ParseLocalInputLocation() above to handle
finding names based on the current scope. See that for the behavior of local functions
definitions.
Underneath final resolution is done by ResolvePermissiveInputLocations() so will match functions
in any namespace unless globally qualified.
Defined at line 239 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
Err ResolveInputLocations (const Frame * optional_frame, const std::string & input, bool symbolize, std::vector<Location> * output)Defined at line 249 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
Err FormatSourceContext (const std::string & file_name_for_display, const std::string & file_contents, const FormatSourceOpts & opts, OutputBuffer * out)Formats the given source to the output.
The file_name_for_display is used for display purposes but is not interpreted in any way. This
will be printed if the show_file_name flag is set in the options.
If the active line is nonzero but is not in the file, an error will be returned and no output
will be generated. The file_name_for_display will be used to generate this string.
Defined at line 375 of file ../../src/developer/debug/zxdb/console/format_context.cc
-
Err EvalCommandExpression (const Command & cmd, const char * verb, const fxl::RefPtr<EvalContext> & eval_context, bool follow_references, bool verbose_errors, EvalCallback cb)Evaluates all args in the given command as an expression and calls the callback with the result.
The callback will be called from within the stack of the caller if the expression can be
evaluated synchronously.
When there is an error during setup, the error will be returned and the callback will not be
called. After setup, all evaluation errors will come via the callback.
The verbose_errors flag, if set, will wrap any expression evaluation errors with some
explanation that the expression has failed to evaluate. Most callers except "print" will want
verbose errors because short things like "Optimized out" make sense in the context of printing
a value, but not for e.g. the result of "watch foo".
The |verb| string is used to format error messages showing command examples.
Defined at line 499 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
Err ResolveInputLocations (const ProcessSymbols * process_symbols, const std::vector<InputLocation> & input_locations, bool symbolize, std::vector<Location> * locations)Variant of the above that takes a pre-parsed list of input locations.
Defined at line 260 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
Err GetConcretePointedToCollection (const fxl::RefPtr<EvalContext> & eval_context, const Type * input, fxl::RefPtr<Collection> * pointed_to)Verifies that |input| type is a pointer to a collection and fills the pointed-to type into
|*pointed_to|. In other cases, returns an error. The input type can be null (which will produce
an error) or non-concrete (const, forward definition, etc.) so the caller doesn't have to check.
The returned type will be concrete which means the type may be modified to strip CV qualifiers.
This is used when looking up collection members by pointer so this is needed. It should not be
used to generate types that might be visible to the user (they'll want the qualifiers).
Defined at line 415 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
std::ostream & operator<< (std::ostream & out, const DwarfStackEntry & entry)For test output.
Defined at line 174 of file ../../src/developer/debug/zxdb/symbols/dwarf_stack_entry.cc
-
fxl::RefPtr<Collection> MakeTestRustEnum ()Makes a standard rust enum representing the definition:
enum RustEnum {
None, // Default
Scalar(u32), // Discriminant = 0
Point{x:u32, y:u32}, // Discriminant = 1
}
The layout is 12 bytes, the 4 byte discriminant, then the 0-to-8 bytes of values depending on the
discriminant value (should be padded to 12 total);
Rust doesn't use the "default discriminant" feature of DWARF but we use that here to test our
interpretation of DWARF. The default discriminant matches any discriminant value that's not
otherwise explicitly encoded.
Defined at line 236 of file ../../src/developer/debug/zxdb/symbols/type_test_support.cc
-
AddressRange GetAddressRangeForLineSubstatements (Process * process, const Location & loc) -
Err EvalCommandAddressExpression (const Command & cmd, const char * verb, const fxl::RefPtr<EvalContext> & eval_context, fit::callback<void (const Err &, uint64_t, std::optional<uint32_t>)> cb)Like EvalCommandExpression but attempts to convert the result to an address. This is used for
commands that want to support expressions to compute addresses.
Some expressions may evaluate to a pointer where the intrinsic size of the pointed-to thing is
known. In this case, the size will be passed to the callback. Untyped results will have a null
size.
If the command doesn't evaluate to an address, the Err will be set.
Defined at line 520 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
ErrOr<size_t> GetRustTupleMemberCount (const fxl::RefPtr<EvalContext> & eval_context, const ExprValue & tuple)Returns the number of members in a Rust tuple.
Returns an error if the value isn't a Rust tuple. Empty structs are considered empty tuples,
regardless of whether the Collection thinks it's a tuple or not. Empty tuple structs and
empty enum values look just like regular empty structs.
Defined at line 429 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
Err ResolveUniqueInputLocation (const ProcessSymbols * process_symbols, const InputLocation & input_location, bool symbolize, Location * output)Resolves the given input string to a Location object. Returns an error parsing or if the location
can not be resolved or resolves to more than one address.
Set |symbolize| to make the output |*location| symbolized. This will be slightly slower. If you
just need the address, pass false.
These first two variants take pre-parsed InputLocation(s):
Defined at line 279 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
const ExprTokenRecord & RecordForTokenType (ExprTokenType )Defined at line 139 of file ../../src/developer/debug/zxdb/expr/expr_token_type.cc
-
Err ResolveUniqueInputLocation (const ProcessSymbols * process_symbols, const std::vector<InputLocation> & input_location, bool symbolize, Location * output)This implementation isn't great, it doesn't always show the best disambiguations for the given
input.
Also it misses a file name edge case: If there is one file whose full path in the symbols is a
right-side subset of another (say "foo/bar.cc" and "something/foo/bar.cc"), then "foo/bar.cc" is
the most unique name of the first file. But if the user types that, they'll get both matches and
this function will report an ambiguous location.
Instead, if the input is a file name and there is only one result where the file name matches
exactly, we should pick it.
Defined at line 296 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
Err RewriteCommandExpressionError (const std::string & verb, const Err & err)Errors from the evaluation of expressions of commands oftem don't make sense without context.
Defined at line 540 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
ErrOrValue ExtractRustTuple (const fxl::RefPtr<EvalContext> & eval_context, const ExprValue & tuple, size_t index)Given a Rust tuple or tuple struct stored in an ExprValue, extracts the value at the given index.
Returns an error if the input isn't a Rust tuple or the index is out of range.
Defined at line 453 of file ../../src/developer/debug/zxdb/expr/resolve_collection.cc
-
std::ostream & operator<< (std::ostream & out, const Disassembler::Row & row)For unit testing.
Defined at line 95 of file ../../src/developer/debug/zxdb/client/disassembler.cc
-
Err ResolveUniqueInputLocation (const ProcessSymbols * process_symbols, const Location & location, const std::string & input, bool symbolize, Location * output)These variants parse the input. The Frame* variant will extract the process symbols and current
location from the frame if possible.
Defined at line 344 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
Err ResolveUniqueInputLocation (const Frame * optional_frame, const std::string & input, bool symbolize, Location * output)Defined at line 354 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
Err FormatAsmContext (const ArchInfo & arch_info, const MemoryDump & dump, const FormatAsmOpts & opts, Process * process, const SourceFileProvider & file_provider, OutputBuffer * out)Outputs assembly.
The process is used when options.include_source is set to map addresses back to source locations.
When options.include_source is not set, this can be null.
On error, returns the error and does nothing.
Defined at line 464 of file ../../src/developer/debug/zxdb/console/format_context.cc
-
std::string FormatConsoleString (const std::string & input)Formats an argument or setting value.
Normally strings for switches and settings need no quoting since they're whitespace-separated,
and the input will be returned unchanged.
But if there are spaces or unprintable characters, this will quote or escape in such a way that
the console/setting formatter will interpret the string the same way as a single entity.
Defined at line 557 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
void CompleteInputLocation (const Command & command, const std::string & prefix, std::vector<std::string> * completions)Autocomplete for input locations.
Defined at line 366 of file ../../src/developer/debug/zxdb/console/input_location_parser.cc
-
ConsoleFormatOptions::NumFormat GetNumberFormatForTarget (Target * target)Returns the number format setting for the given target, or the default if target is invalid.
Defined at line 606 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
ErrOr<Target *> GetRunnableTarget (ConsoleContext * context, const Command & cmd)Makes sure there is a runnable target, creating one if necessary. In the success case, the
returned target should be used instead of the one from the command (it may be a new one).
Defined at line 621 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
FoundName FindName (const FindNameContext & context, const FindNameOptions & options, const ParsedIdentifier & identifier)Main variable and type name finding function. Searches the local, "this", and global scopes for
one or more things with a matching name. The first version finds the first exact match of any
type, the second uses the options to customize what and how many results are returned.
The variant that returns a single value ignores the max_results of the options and always returns
the first thing.
Defined at line 509 of file ../../src/developer/debug/zxdb/expr/find_name.cc
-
void DispatchCommand (const Command & cmd, fxl::RefPtr<CommandContext> cmd_context)Runs the given command.
Defined at line 149 of file ../../src/developer/debug/zxdb/console/command.cc
-
void FindName (const FindNameContext & context, const FindNameOptions & options, const ParsedIdentifier & looking_for, std::vector<FoundName> * results)Defined at line 521 of file ../../src/developer/debug/zxdb/expr/find_name.cc
-
std::vector<Process *> GetRunningProcesses (System * system)Get all the currently running processes. This means that the Target's state is not None and the
underlying Process object is alive, but may not have any actively running threads (they could be
suspended, in an exception state or any other valid state).
Defined at line 644 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
Err FormatBreakpointContext (const Location & location, const SourceFileProvider & file_provider, bool enabled, OutputBuffer * out)Creates a source code context of the given location and puts it in the output buffer. This does
not write disassembly since that would require asynchronously getting the memory which isn't as
important for breakpoints.
If there are no symbols or the file can't be found, returns the error and doesn't write anything
to the buffer.
Generally the location passed here should be the location of a resolved BreakpointLocation since
the breakpoint itself won't have a fully qualified file name, and the breakpoint may move
slightly when it's actually applied.
Build_dir_prefs is used to find relative files by FormatSourceFileContext().
Defined at line 575 of file ../../src/developer/debug/zxdb/console/format_context.cc
-
OutputBuffer FormatSourceLine (const FormatSourceOpts & opts, bool is_highlight_line, const std::string & line)Syntax highlights the given source line according to the language's rules. The is_highlight_line
flag indicates whether to apply opts.highlight_line and opts.highlight_column to the current
line.
Defined at line 593 of file ../../src/developer/debug/zxdb/console/format_context.cc
-
Err VerifySystemHasRunningProcess (System * system)If the system has at least one running process, returns no error. If not, returns an error
describing that there must be a process running.
When doing global things like System::Continue(), it will succeed if there are no running
programs (it will successfully continue all 0 processes). This is confusing to the user so this
function is used to check first.
Defined at line 654 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
VisitResult VisitLocalVariables (const CodeBlock * block, fit::function<VisitResult (const Variable *)> visitor)Searches the code block for local variables. This includes all nested code blocks and function
parameters, but does not go into the "this" class or any non-function scopes like the current or
global namespace (that's what the later functions do).
The "visit" variant calls the callback for every variable in order of priority for as long as the
visitor reports "continue." The "find" variant does an exact string search, the "prefix" variant
does a prefix search.
Defined at line 567 of file ../../src/developer/debug/zxdb/expr/find_name.cc
-
void InitializeSchemas ()Schemas need to be initialized together because some schemas can add settings to other schemas.
If we made it completely lazy, when the first thread is spun up, it could make new settings
appear which is not what the user would expect.
Defined at line 15 of file ../../src/developer/debug/zxdb/client/setting_schema_definition.cc
-
void FindLocalVariable (const FindNameOptions & options, const CodeBlock * block, const ParsedIdentifier & looking_for, std::vector<FoundName> * results)Defined at line 586 of file ../../src/developer/debug/zxdb/expr/find_name.cc
-
const std::map<Verb, VerbRecord> & GetVerbs ()Returns all known verbs. The contents of this map will never change once
it is called.
Defined at line 99 of file ../../src/developer/debug/zxdb/console/verbs.cc
-
void ProcessCommandCallback (fxl::WeakPtr<Target> target, bool display_message_on_success, const Err & err, fxl::RefPtr<CommandContext> cmd_context)Callback for the process commands that displays the current process and what happened.
The verb affects the message printed to the screen.
The optional callback parameter will be issued with the error for calling code to identify the
error.
Defined at line 658 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
std::ostream & operator<< (std::ostream & out, const ExprValue & value)Unit tests often use ExprValue and we want it to print in unit tests.
Defined at line 311 of file ../../src/developer/debug/zxdb/expr/expr_value.cc
-
std::string VerbToString (Verb v)Converts the given verb to the canonical name.
Defined at line 191 of file ../../src/developer/debug/zxdb/console/verbs.cc
-
const VerbRecord * GetVerbRecord (Verb verb)Returns the record for the given verb. If the verb is not registered (should
not happen) or is kNone (this is what noun-only commands use), returns null.
Defined at line 171 of file ../../src/developer/debug/zxdb/console/verbs.cc
-
const std::map<std::string, Verb> & GetStringVerbMap ()Returns the mapping from possible inputs to the noun/verb. This is an
inverted version of the map returned by GetNouns()/GetVerbs();
Defined at line 179 of file ../../src/developer/debug/zxdb/console/verbs.cc
-
void AsyncPrintReturnValue (const FunctionReturnInfo & info, fit::deferred_callback cb)Defined at line 668 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
void ScheduleAsyncPrintReturnValue (const FunctionReturnInfo & info)Schedules the function's return information to be printed from a PostStopTask on the thread
(the thread is in the FunctionReturnInfo).
This must only be called from a ThreadController::OnThreadStop handler: in normal use this
callback will be given to a thread controller to issue when a function return happens.
The PostStopTask that this function schedules will evaluate the return value, print it, and then
notify the thread that it can resume its normal behavior (either a stop or a continue).
If this function returns void or there's an error, this does nothing.
Defined at line 711 of file ../../src/developer/debug/zxdb/console/command_utils.cc
-
void AppendSettingsVerbs (std::map<Verb, VerbRecord> * verbs)These functions add records for the verbs they support to the given map.
Defined at line 797 of file ../../src/developer/debug/zxdb/console/verbs_settings.cc
-
void FindMember (const FindNameContext & context, const FindNameOptions & options, const Collection * object, const ParsedIdentifier & looking_for, const Variable * optional_object_ptr, std::vector<FoundName> * result)Searches for the named variable or type on the given collection. This is the lower-level function
and assumes a valid object. The result can be either a kType or a kMemberVariable.
If the ProcessSymbols is non-null, this function will also search for type names defined in the
collection. Otherwise, only data members will be searched.
The optional symbol context is the symbol context for the current code. it will be used to
prioritize symbol searching to the current module if given.
If the result is a member variable, the optional_object_ptr will be used to construct the
FoundName object. It can be null if the caller does not have a variable for the object it's
looking up (just doing a type query).
Defined at line 607 of file ../../src/developer/debug/zxdb/expr/find_name.cc
-
void FindMemberOnThis (const FindNameContext & context, const FindNameOptions & options, const ParsedIdentifier & looking_for, std::vector<FoundName> * result)Attempts the resolve the given named member variable or type on the "this" pointer associated
with the given code block. Fails if the function has no "this" pointer or the type name / data
member isn't found.
If the ProcessSymbols is non-null, this function will also search for type names defined in the
collection. Otherwise, only data members will be searched.
The optional symbol context is the symbol context for the current code. it will be used to
prioritize symbol searching to the current module if given.
Defined at line 619 of file ../../src/developer/debug/zxdb/expr/find_name.cc
-
VisitResult FindIndexedName (const FindNameContext & context, const FindNameOptions & options, const ParsedIdentifier & current_scope, const ParsedIdentifier & looking_for, bool search_containing, std::vector<FoundName> * results)Attempts to resolve the named |looking_for| in the index.
The |current_scope| is the namespace to start looking in. If |search_containing| is true, parent
scopes of the |current_scope| are also searched, otherwise only exact matches in that scope will
be found.
Defined at line 645 of file ../../src/developer/debug/zxdb/expr/find_name.cc
-
void FindIndexedNameInModule (const FindNameOptions & options, const ModuleSymbols * module_symbols, const ParsedIdentifier & current_scope, const ParsedIdentifier & looking_for, bool search_containing, std::vector<FoundName> * results)Searches a specific index and current namespace for a global variable or type of the given name.
The current_scope would be the current namespace + class from where to start the search.
Defined at line 656 of file ../../src/developer/debug/zxdb/expr/find_name.cc
-
bool DwarfTagIsType (DwarfTag tag)Returns true if the tag defines a type.
Defined at line 101 of file ../../src/developer/debug/zxdb/symbols/dwarf_tag.cc
-
const std::string * GetSingleComponentIdentifierName (const ParsedIdentifier & ident)In many contexts (like function parameters and local variables) an identifier name can't have any
:: or template parameters and can have only one component. If this identifier satisfies this
requirement, a pointer to the single string is returned. If there is zero or more than one
component or any template specs, returns null.
The returned pointer will be invalidated if the Identifier is mutated.
Defined at line 697 of file ../../src/developer/debug/zxdb/expr/find_name.cc
-
bool DwarfTagIsTypeModifier (DwarfTag tag)Returns true if the tag is one of the type modified variants (pointers, references, typedefs,
const, volatile, etc.). See also "DwarfTagIsCVQualifier() variant below.
Defined at line 116 of file ../../src/developer/debug/zxdb/symbols/dwarf_tag.cc
-
bool DwarfTagIsCVQualifier (DwarfTag tag)Returns true for C-V qualifiers. Also includes "restrict" for C99 and "_Atomic" for C11. This
is basically anything that should be ignored to get an underlying type name, but does not invlude
typdefs (since these have a different name).
Defined at line 124 of file ../../src/developer/debug/zxdb/symbols/dwarf_tag.cc
-
bool DwarfTagIsEitherReference (DwarfTag tag)Returns true if the dwarf tag is a reference or rvalue reference.
Defined at line 129 of file ../../src/developer/debug/zxdb/symbols/dwarf_tag.cc
-
bool DwarfTagIsPointerOrReference (DwarfTag tag)Returns true if the tag is any reference type or a pointer.
Defined at line 133 of file ../../src/developer/debug/zxdb/symbols/dwarf_tag.cc
-
std::string DwarfTagToString (DwarfTag tagbool include_number)Converts the tag to a string, optionally including the numeric value. Invalid or unknown values
will be formatted as "<undefined>" and will always include the numeric value.
Defined at line 137 of file ../../src/developer/debug/zxdb/symbols/dwarf_tag.cc
Variables
size_t kSymbolPointerSize
Defined at line 9 of file ../../src/developer/debug/zxdb/symbols/arch.cc
const char[] kVectorRegisterFormatStr_Signed8
Defined at line 16 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Unsigned8
Defined at line 17 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Signed16
Defined at line 18 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Unsigned16
Defined at line 19 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Signed32
Defined at line 20 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Unsigned32
Defined at line 21 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Signed64
Defined at line 22 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Unsigned64
Defined at line 23 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Signed128
Defined at line 24 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Unsigned128
Defined at line 25 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Float
Defined at line 26 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kVectorRegisterFormatStr_Double
Defined at line 27 of file ../../src/developer/debug/zxdb/expr/vector_register_format.cc
const char[] kStdioHelp
Defined at line 42 of file ../../src/developer/debug/zxdb/console/commands/verb_stdout.cc
const char[] kAnonIdentifierComponentName
Defined at line 81 of file ../../src/developer/debug/zxdb/symbols/identifier_base.cc
const int kMemAnalyzeSizeSwitch
Defined at line 125 of file ../../src/developer/debug/zxdb/console/commands/verb_mem_analyze.cc
const int kMemAnalyzeNumSwitch
Defined at line 126 of file ../../src/developer/debug/zxdb/console/commands/verb_mem_analyze.cc
const uint32_t kDefaultAnalyzeByteSize
Defined at line 130 of file ../../src/developer/debug/zxdb/console/commands/verb_mem_analyze.cc