Table of Contents

Struct VBStackTraceFrame

Namespace
RDCore.SDK.Model.Errors
Assembly
RDCore.SDK.dll

One activation of the call stack a run-time error was raised on.

public readonly record struct VBStackTraceFrame : IEquatable<VBStackTraceFrame>
Implements
Inherited Members

Constructors

VBStackTraceFrame(string, SourceLocation?, ImmutableArray<SourceLocation>)

One activation of the call stack a run-time error was raised on.

public VBStackTraceFrame(string ProcedureName, SourceLocation? Location, ImmutableArray<SourceLocation> GoSubs = default)

Parameters

ProcedureName string

The name of the procedure the activation is of.

Location SourceLocation?

Where in that procedure execution stood, when it is known. Known for the activation the error was raised in — that is the faulting statement — and not for its callers, whose activation records do not carry the location of the call they are suspended at.

GoSubs ImmutableArray<SourceLocation>

Where the GoSub statements the activation had not Returned from were, innermost first: how it got to where it was, within the procedure. It is the activation's GoSub Resumption List (MS-VBAL §5.4.2.14) when the error was raised, and is empty for an activation in no GoSub.

Properties

GoSubs

Where the GoSub statements the activation had not Returned from were, innermost first: how it got to where it was, within the procedure. It is the activation's GoSub Resumption List (MS-VBAL §5.4.2.14) when the error was raised, and is empty for an activation in no GoSub.

public ImmutableArray<SourceLocation> GoSubs { get; init; }

Property Value

ImmutableArray<SourceLocation>

Location

Where in that procedure execution stood, when it is known. Known for the activation the error was raised in — that is the faulting statement — and not for its callers, whose activation records do not carry the location of the call they are suspended at.

public SourceLocation? Location { get; init; }

Property Value

SourceLocation?

ProcedureName

The name of the procedure the activation is of.

public string ProcedureName { get; init; }

Property Value

string

Methods

ToString()

The frame as one line: the procedure's name, and the 1-based line and column of the faulting statement when that is known, then the GoSub statements it came from.

public override string ToString()

Returns

string