Exemple #1
0
 /// <summary>
 /// Creates <see cref="DbgValueNode"/>s. It blocks the current thread.
 /// The returned <see cref="DbgValueNode"/>s are automatically closed when their runtime continues.
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Frame</param>
 /// <param name="objectIds">Object ids</param>
 /// <param name="options">Options</param>
 /// <param name="cancellationToken">Cancellation token</param>
 /// <returns></returns>
 public abstract DbgValueNode[] Create(DbgEvaluationContext context, DbgStackFrame frame, DbgObjectId[] objectIds, DbgValueNodeEvaluationOptions options, CancellationToken cancellationToken = default);
Exemple #2
0
 /// <summary>
 /// Creates <see cref="DbgValueNode"/>s. It blocks the current thread.
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Frame</param>
 /// <param name="expression">Expression</param>
 /// <param name="nodeOptions">Value node options</param>
 /// <param name="options">Eval options</param>
 /// <param name="cancellationToken">Cancellation token</param>
 /// <returns></returns>
 public DbgCreateValueNodeResult Create(DbgEvaluationContext context, DbgStackFrame frame, string expression, DbgValueNodeEvaluationOptions nodeOptions, DbgEvaluationOptions options, CancellationToken cancellationToken = default) =>
 Create(context, frame, new[] { new DbgExpressionEvaluationInfo(expression, nodeOptions, options) }, cancellationToken)[0];
Exemple #3
0
 /// <summary>
 /// Creates a <see cref="DbgValueNode"/>. It blocks the current thread until the evaluation is complete.
 /// The returned <see cref="DbgValueNode"/>s are automatically closed when their runtime continues.
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Frame</param>
 /// <param name="expressions">Expressions to evaluate</param>
 /// <param name="cancellationToken">Cancellation token</param>
 /// <returns></returns>
 public abstract DbgCreateValueNodeResult[] Create(DbgEvaluationContext context, DbgStackFrame frame, DbgExpressionEvaluationInfo[] expressions, CancellationToken cancellationToken = default);
Exemple #4
0
 /// <summary>
 /// Formats an object ID name
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="output">Output</param>
 /// <param name="id">Object id</param>
 public abstract void FormatObjectIdName(DbgEvaluationContext context, IDbgTextWriter output, uint id);
Exemple #5
0
 /// <summary>
 /// Formats the value's type. The thread is blocked until the type has been formatted
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="output">Output</param>
 /// <param name="value">Value to format</param>
 /// <param name="options">Options</param>
 /// <param name="cancellationToken">Cancellation token</param>
 public abstract void FormatType(DbgEvaluationContext context, ITextColorWriter output, DbgValue value, DbgValueFormatterTypeOptions options, CancellationToken cancellationToken = default);
Exemple #6
0
 /// <summary>
 /// Formats a stowed exception name
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="output">Output</param>
 /// <param name="id">Stowed exception id</param>
 public abstract void FormatStowedExceptionName(DbgEvaluationContext context, IDbgTextWriter output, uint id);
Exemple #7
0
 /// <summary>
 /// Formats a return value name
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="output">Output</param>
 /// <param name="id">Return value id</param>
 public abstract void FormatReturnValueName(DbgEvaluationContext context, IDbgTextWriter output, uint id);
 /// <summary>
 /// Evaluates an expression. It blocks the current thread until the evaluation is complete.
 /// The returned <see cref="DbgValue"/> is automatically closed when its runtime continues.
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Frame</param>
 /// <param name="expression">Expression to evaluate</param>
 /// <param name="options">Options</param>
 /// <param name="state">State created by <see cref="CreateExpressionEvaluatorState"/> or null to store the state in <paramref name="context"/></param>
 /// <param name="cancellationToken">Cancellation token</param>
 /// <returns></returns>
 public abstract DbgEvaluationResult Evaluate(DbgEvaluationContext context, DbgStackFrame frame, string expression, DbgEvaluationOptions options, object state, CancellationToken cancellationToken = default);
 /// <summary>
 /// Assigns the value of an expression to another expression. It blocks the current thread until the evaluation is complete.
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Frame</param>
 /// <param name="expression">Target expression (lhs)</param>
 /// <param name="valueExpression">Source expression (rhs)</param>
 /// <param name="options">Options</param>
 /// <param name="cancellationToken">Cancellation token</param>
 /// <returns></returns>
 public abstract DbgEEAssignmentResult Assign(DbgEvaluationContext context, DbgStackFrame frame, string expression, string valueExpression, DbgEvaluationOptions options, CancellationToken cancellationToken = default);
Exemple #10
0
 /// <summary>
 /// Formats an exception name
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="output">Output</param>
 /// <param name="id">Exception id</param>
 public abstract void FormatExceptionName(DbgEvaluationContext context, ITextColorWriter output, uint id);
Exemple #11
0
 /// <summary>
 /// Formats the value. The thread is blocked until the value has been formatted
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Stack frame</param>
 /// <param name="output">Output</param>
 /// <param name="value">Value to format</param>
 /// <param name="options">Options</param>
 /// <param name="cultureInfo">Culture or null to use invariant culture</param>
 /// <param name="cancellationToken">Cancellation token</param>
 public abstract void Format(DbgEvaluationContext context, DbgStackFrame frame, ITextColorWriter output, DbgValue value, DbgValueFormatterOptions options, CultureInfo cultureInfo, CancellationToken cancellationToken = default);
Exemple #12
0
 /// <summary>
 /// Gets all values. It blocks the current thread until the method is complete.
 /// The returned <see cref="DbgValueNode"/>s are automatically closed when their runtime continues.
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Frame</param>
 /// <param name="options">Options</param>
 /// <param name="localsOptions">Locals value node provider options</param>
 /// <param name="cancellationToken">Cancellation token</param>
 /// <returns></returns>
 public abstract DbgLocalsValueNodeInfo[] GetNodes(DbgEvaluationContext context, DbgStackFrame frame, DbgValueNodeEvaluationOptions options, DbgLocalsValueNodeEvaluationOptions localsOptions, CancellationToken cancellationToken = default);
Exemple #13
0
 /// <summary>
 /// Formats the name. This method blocks the current thread until all requested values have been formatted
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Frame</param>
 /// <param name="output">Output</param>
 /// <param name="cultureInfo">Culture or null to use invariant culture</param>
 /// <param name="cancellationToken">Cancellation token</param>
 public void FormatName(DbgEvaluationContext context, DbgStackFrame frame, ITextColorWriter output, CultureInfo cultureInfo = null, CancellationToken cancellationToken = default) =>
 Format(context, frame, new DbgValueNodeFormatParameters {
Exemple #14
0
 /// <summary>
 /// Creates new children. This method blocks the current thread until the children have been created.
 /// The returned <see cref="DbgValueNode"/>s are automatically closed when their runtime continues
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Frame</param>
 /// <param name="index">Index of first child</param>
 /// <param name="count">Max number of children to return</param>
 /// <param name="options">Options</param>
 /// <param name="cancellationToken">Cancellation token</param>
 /// <returns></returns>
 public abstract DbgValueNode[] GetChildren(DbgEvaluationContext context, DbgStackFrame frame, ulong index, int count, DbgValueNodeEvaluationOptions options, CancellationToken cancellationToken = default);
Exemple #15
0
 /// <summary>
 /// Number of children. This property is called as late as possible and can be lazily initialized.
 /// It's assumed to be 0 if <see cref="HasChildren"/> is false.
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Frame</param>
 /// <param name="cancellationToken">Cancellation token</param>
 /// <returns></returns>
 public abstract ulong GetChildCount(DbgEvaluationContext context, DbgStackFrame frame, CancellationToken cancellationToken);
Exemple #16
0
 /// <summary>
 /// Creates a new value. The returned <see cref="DbgValue"/> is automatically closed when its runtime continues.
 /// </summary>
 /// <param name="context">Evaluation context</param>
 /// <param name="frame">Stack frame</param>
 /// <param name="cancellationToken">Cancellation token</param>
 /// <returns></returns>
 public abstract DbgValue GetValue(DbgEvaluationContext context, DbgStackFrame frame, CancellationToken cancellationToken = default);