Skip to content
New issue

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

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

Already on GitHub? # 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.
# for free to join this conversation on GitHub. Already have an account? # 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