Skip to content

Cannot debug values inside some if-statements: [sentinel kind: OptimizedOut] from evaluateInFrame() #52430

Closed
@vital-edu

Description

@vital-edu

When I try to evaluate values within if statements in the debug console the following error appears:

[Sentinel kind: OptimizedOut, valueAsString: <optimized out>] from evaluateInFrame()
#0      DartDebugAdapter.evaluateRequest (package:dds/src/dap/adapters/dart.dart:995:7)
<asynchronous suspension>
#1      BaseDebugAdapter.handle (package:dds/src/dap/base_debug_adapter.dart:143:7)
<asynchronous suspension>

Snippet that reproduces the issue (add the breakpoints in the line below the comments).

void main() {
  var data = {
    'number': 20,
    'canProcess': true,
  };
  final worker = Worker(data);
  print(worker.result);

  final result = worker.maybeProcess(data, (data) {
    if (data is Map) {
      // Breakpoint 2: without issue
      return data['number'] % 2 == 0;
    }
    return null;
  });

  print(result);

  print(worker.getResult());
  print(dataHasEventNumber(data));
}

class Worker {
  final dynamic _data;

  Worker(this._data);

  bool? get result {
    return maybeProcess(_data, (data) {
      if (data is Map) {
        // Breakpoint 1: with issue
        return data['number'] % 2 == 0;
      }
      return null;
    });
  }

  bool? getResult() {
    return maybeProcess(_data, (data) {
      if (data is Map) {
        // Breakpoint 3: with issue
        return data['number'] % 2 == 0;
      }
      return null;
    });
  }

  bool? maybeProcess<String>(dynamic data, bool? Function(dynamic) fun) {
    if (data is Map && data['canProcess'] == true) {
      return fun(data);
    }

    return null;
  }
}

bool? dataHasEventNumber(data) {
  if (data is Map) {
    // Breakpoint 4: without issue
    return data['number'] % 2 == 0;
  }
  return null;
}

Tested on flutter master and flutter stable channels, using VSCode (printing the value in the Debug Console) or Android Studio (evaluating expression).

Master channel: Dart SDK version: 3.1.0-118.0.dev (dev) (Tue May 16 18:58:22 2023 -0700) on "macos_x64"
Stable channel: Dart SDK version: 3.0.1 (stable) (Tue May 16 11:57:19 2023 +0000) on "macos_x64"

This bug does not exist on Dart SDK version: 2.19.2 (stable) (Tue Feb 7 18:37:17 2023 +0000) on "macos_x64"

Metadata

Metadata

Assignees

Labels

P2A bug or feature request we're likely to work onarea-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.vm-debugger

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions