Closed Bug 1549922 Opened 2 years ago Closed 2 years ago

Can't remove phantom breakpoints

Categories

(DevTools :: Debugger, defect)

67 Branch
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: roy-orbison, Unassigned)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0

Steps to reproduce:

Initial problem:

  1. Set a breakpoints in an external JS resource in the debugger (an non-minified, human-readable source file without a source map).
  2. Hard reload the page.
  3. Breakpoints no longer listed nor indicated in debugger.

Resolution problem:

  1. Tried re-adding, then removing new breakpoints on same lines in hopes it removes hidden breakpoints.
  2. Deleted "devtools.debugger.pending-selected-location" from my profile's prefs.js whilst Firefox was closed.

Actual results:

Initial problem:
Debugger still stops at previous breakpoints.

Resolution problem:
They are invincible, I cannot destroy them. I do have my session being restored which probably contributes to this, but starting fresh would lose my place in several projects (each has its own window with multiple tabs).

Expected results:

The breakpoints' visibility should be restored in the debugger, and/or removing the pref should delete them.

Component: Untriaged → Debugger
Product: Firefox → DevTools

Would you be able to test again on Firefox Nightly to see if the problem is still present there?

Flags: needinfo?(roy-orbison)

Here is a link where you can download Firefox Nightly build:
https://www.mozilla.org/en-US/firefox/nightly/all/

Honza

It's not happening in Nightly nor in a fresh profile of may usual Dev Edition. So the problem is then how does one remove these breakpoints without trashing the session? Where else are they stored besides the prefs.js file?

Flags: needinfo?(roy-orbison)

Roy, have you tried clearing devtools.debugger.pending-breakpoints in about:config?

Yes, I wrote that in the report. I've wiped all devtools prefs before to resolve debugger issues, without toasting the whole session. This one seems immune to that so I assumed the breakpoints are stored elsewhere, in the session aswell.

I can bookmark all my tabs with a Ctrl + Shift + D per window and start over, I'd just prefer not to.

Sorry, I misread. Will try that.

I set a new breakpoint in a different JS file, saw it appear in the list of breakpoints, and its line indicator was shown. Reloaded page and it stopped at the new breakpoint but was unlisted again, and that pref in about:config (which was an empty object literal before) then contained the breakpoint details. After closing the debugger, reloading the page, resetting that pref, re-opening the debugger, and reloading the page again, debugging stopped at the phantom breakpoint and the pref in about:config contained its details again. Still nothing in the Debugging tab except the lines that show where the execution is currently paused.

So what else can I wipe?

Depends on: 1553210

Sorry for the bad advice. We're now using asyncStore for saved breakpoints here are the steps to remove them:

  1. open the browser toolbox link
  2. select debugger.html in the iframe dropdown (top right)
  3. in the console, evaluate asyncStore.pendingBreakpoints = {}

NOTE: I'll file a bug for making remove all breakpoints in the breakpoints contextmenu clear it. bug 1553210

closing this as it is resolved on nightly and we'll hopefully make this smoother going forward

Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Attached image what-debugger-html.png
  1. select debugger.html in the iframe dropdown (top right)

I can't see that frame. I've opened a few (including the ticked one in the screenshot) and asyncStore was undefined in each one.

Yep. You have the right one.

I'm sorry it's prefixed. dbg.asyncStore.pendingBreakpoints

Stop by our slack and I would be happy to help you get this fixed. Perhaps jump on a call quickly.

You need to log in before you can comment on or make changes to this bug.