Resume behaves like step-out after a step-in

RESOLVED FIXED in Firefox 25

Status

()

Firefox
Developer Tools: Debugger
P2
normal
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: vporof, Assigned: past)

Tracking

unspecified
Firefox 25
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

5 years ago
STR: 

1. Open debugger on http://htmlpad.org/step-out-vs-resume/
2. Add a breakpoint on line 18
3. Click me
4. Step in
5. Resume

Debugger pauses on line 19. I'd expect it to resume and finish executing all the scripts, since there's no other breakpoint set.
(Assignee)

Updated

5 years ago
Assignee: nobody → past
Priority: -- → P2
(Reporter)

Updated

5 years ago
Duplicate of this bug: 890863
Thanks :vp, I'll keep my eye on 890863
(Assignee)

Comment 3

5 years ago
Created attachment 775354 [details] [diff] [review]
Clear any previous stepping hooks on a plain resumption

I thought about this yesterday on the beach and the fix was rather simple. I still need to write a test and fix a broken one (test_blackboxing-01.js)
(Assignee)

Updated

5 years ago
Status: NEW → ASSIGNED
(Assignee)

Comment 4

5 years ago
Created attachment 776241 [details] [diff] [review]
Clear any previous stepping hooks on a plain resumption

We had a number of workarounds in a couple of our tests to avoid this issue, which I removed, and they can now serve as a test for the new correct behavior. Let me know if you would prefer a separate test for this change though.
Attachment #776241 - Flags: review?(rcampbell)
Comment on attachment 776241 [details] [diff] [review]
Clear any previous stepping hooks on a plain resumption

Review of attachment 776241 [details] [diff] [review]:
-----------------------------------------------------------------

::: toolkit/devtools/server/actors/script.js
@@ +417,5 @@
> +      // Clear any previous stepping hooks on a plain resumption.
> +      let frame = this.youngestFrame;
> +      while (frame) {
> +        frame.onStep = undefined;
> +        frame.onPop = undefined;

do you like this better than delete? I suppose this way the properties stick around.
Attachment #776241 - Flags: review?(rcampbell) → review+
Attachment #775354 - Attachment is obsolete: true
(Assignee)

Comment 6

5 years ago
(In reply to Rob Campbell [:rc] (:robcee) from comment #5)
> ::: toolkit/devtools/server/actors/script.js
> @@ +417,5 @@
> > +      // Clear any previous stepping hooks on a plain resumption.
> > +      let frame = this.youngestFrame;
> > +      while (frame) {
> > +        frame.onStep = undefined;
> > +        frame.onPop = undefined;
> 
> do you like this better than delete? I suppose this way the properties stick
> around.

That's right, I tried to make sure that the shape of the object wouldn't change. I'm not sure it matters much in this case, but it's a habit I've developed :-)
https://hg.mozilla.org/mozilla-central/rev/2327af3c6f07
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 25
You need to log in before you can comment on or make changes to this bug.