Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debugger doesn't stop at a breakpoint within a closure within a closure #3412

Closed
devoncarew opened this issue Jun 6, 2012 · 6 comments
Closed
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.

Comments

@devoncarew
Copy link
Member

The debugger doesn't seem to stop at breakpoints inside closures within closures. For the following snippet, a breakpoint at print("foo") works but one at print("bar") doesn't.


void main() {
  print("Hello, World!");
  
  var foo = () {
    print("foo");
    
    var bar = () {
      print("bar");
    };
    
    bar();
  };
  
  foo();
}

@munificent
Copy link
Member

Just to give some flavor on why this matters. Out unit tests are moving towards a new API based on two functions, group() and test(). Those both take closures, so typical unit test files look like:

main() {
  group('Pubspec', () {
    group('parse()', () {
      test("throws if the description isn't valid", () {
        var sources = new SourceRegistry();
        sources.register(new MockSource());

        throwsBadFormat(() {
        new Pubspec.parse('''...''', sources);
        });
      });
    });
  });
}

@jmesserly
Copy link

A related issue:

When going up the stack, I couldn't see locals in closures in Dartium. This was with an older build though, I haven't tried the latest yet. But it might be the same issue?

@jmesserly
Copy link

Just to add on to Bob's comment: any code using async or events will also use closures pretty heavily. And those are often the places where you really need to debug things :)

@DartBot
Copy link

DartBot commented Jun 6, 2012

This comment was originally written by @mhausner


Re: comment 2. Inspecting captured variables does not work yet.

@DartBot
Copy link

DartBot commented Jun 22, 2012

This comment was originally written by @mhausner


I have a fix out for review.


Added Started label.

@DartBot
Copy link

DartBot commented Jun 25, 2012

This comment was originally written by @mhausner


This is fixed in r9065.


Added Fixed label.

@devoncarew devoncarew added Type-Defect area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. labels Jun 25, 2012
copybara-service bot pushed a commit that referenced this issue May 12, 2022
Changes:
```
> git log --format="%C(auto) %h %s" 6068f47..1e3c17e
 https://dart.googlesource.com/pub.git/+/1e3c17ea dependency_services: use revisions as versions for git deps. (#3383)
 https://dart.googlesource.com/pub.git/+/9ecdd6b1 show discontinued in pub outdated (#3399)
 https://dart.googlesource.com/pub.git/+/c8fdf231 Bump analyzer from 3.4.1 to 4.0.0 (#3412)

```

Diff: https://dart.googlesource.com/pub.git/+/6068f47c264ef790e16411b31b2c94ad6beb1ab6~..1e3c17ea871e6a80c720aa998f37cbd3913bc287/
Change-Id: Idb9484e36d03001039e9f7e5447c659b85bd093f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/244621
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
copybara-service bot pushed a commit that referenced this issue May 16, 2023
…ctor, browser_launcher, characters, cli_util, clock, collection, crypto, dartdoc, leak_tracker, lints

Revisions updated by `dart tools/rev_sdk_deps.dart`.

args (https://github.com/dart-lang/args/compare/1864048..f0f6cd2):
  f0f6cd2  2023-05-12  Devon Carew  blast_repo fixes (#243)

async (https://github.com/dart-lang/async/compare/0f368d3..d744058):
  d744058  2023-05-12  Devon Carew  blast_repo fixes (#242)

bazel_worker (https://github.com/dart-lang/bazel_worker/compare/1b86d3c..d9b389f):
  d9b389f  2023-05-12  Devon Carew  blast_repo fixes (#73)

benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/f81b042..e717ad4):
  e717ad4  2023-05-12  Devon Carew  blast_repo fixes (#90)

boolean_selector (https://github.com/dart-lang/boolean_selector/compare/7eed402..3a1c982):
  3a1c982  2023-05-15  Devon Carew  Update README.md (#48)
  23e08e0  2023-05-12  Devon Carew  blast_repo fixes (#47)

browser_launcher (https://github.com/dart-lang/browser_launcher/compare/551e101..40e4315):
  40e4315  2023-05-12  Devon Carew  blast_repo fixes (#45)

characters (https://github.com/dart-lang/characters/compare/2af6783..3ef8883):
  3ef8883  2023-05-15  Devon Carew  blast_repo fixes (#82)

cli_util (https://github.com/dart-lang/cli_util/compare/7234f17..5a49947):
  5a49947  2023-05-15  Devon Carew  blast_repo fixes (#83)

clock (https://github.com/dart-lang/clock/compare/6b9df3e..fe85908):
  fe85908  2023-05-15  Devon Carew  blast_repo fixes (#51)

collection (https://github.com/dart-lang/collection/compare/6abff47..db2da48):
  db2da48  2023-05-15  Devon Carew  blast_repo fixes (#288)

crypto (https://github.com/dart-lang/crypto/compare/4e9dde1..216931a):
  216931a  2023-05-15  Devon Carew  blast_repo fixes (#149)

dartdoc (https://github.com/dart-lang/dartdoc/compare/d01ddc5..2952f6b):
  2952f6bf  2023-05-16  Sam Rawlins  Simplify ToolConfiguration and other options code (#3414)
  0cf21c15  2023-05-12  Janice Collins  Extract fileName / fileType from ModelElement, LibraryContainer into FileStructure (#3413)
  2ae78bcc  2023-05-12  Sam Rawlins  Split sidebars out into separate HTML files (#3384)
  f00d0443  2023-05-11  Janice Collins  Housekeeping:  language version 3.0, analyzer deprecations, pubspec update (#3412)
  370477d2  2023-05-10  dependabot[bot]  Bump github/codeql-action from 2.3.2 to 2.3.3 (#3410)
  e8c5de44  2023-05-08  Janice Collins  Begin extracting file structure information from ModelElement (#3408)
  24af8a11  2023-05-04  Janice Collins  Add a hideConstantImplementations dartdoc directive (#3398)
  078d42fd  2023-05-03  Janice Collins  Change language feature wording based on review in #3401 (#3405)
  31088c1b  2023-05-03  dependabot[bot]  Bump github/codeql-action from 2.2.12 to 2.3.2 (#3403)
  60055b4e  2023-05-03  Sam Rawlins  Update validate-sdk-docs task to allow 20 libs (#3404)

leak_tracker (https://github.com/dart-lang/leak_tracker/compare/bc7f604..8ae200a):
  8ae200a  2023-05-15  Polina Cherkasova  - (#62)

lints (https://github.com/dart-lang/lints/compare/17276ec..72f107a):
  72f107a  2023-05-15  Devon Carew  blast_repo fixes (#120)
  6732fbc  2023-05-15  Devon Carew  blast_repo fixes (#119)

Change-Id: Ibbb1fcc530da01653fe325bdcf77f1c764887a81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/303783
Auto-Submit: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Projects
None yet
Development

No branches or pull requests

4 participants