2
votes

I am having a problem controlling breakpoints in Firebug while debugging/tracing through jQuery code. For example, I might set 5 breakpoints and trace through my code. When I no longer need those breakpoints I click on the red circle to toggle their removal, but execution of the script still breaks at these lines of code - even though there is no longer a red circle in the left column of the Firebug window.

I read a few articles here on SO that indicate they were able to resolve this same issue by clicking on the Firebug icon > Options > Reset All Firebug Options and restart Firefox, but this doesn't resolve the problem.

I can click on the Breakpoints tab and see that there are absolutely no breakpoints in the current script, yet Firebug still stops at a ton of breakpoints which make debugging tedious and a pain.

I am running Firebug 2.0.7. Does anyone know why this might be happening and how I can resolve it? A removed/deleted breakpoint should no longer break, right?

1

1 Answers

3
votes

This is a bug in Firebug 2.0.x, which is reported as issue 7301.

I read a few articles here on SO that indicate they were able to resolve this same issue by clicking on the Firebug icon > Options > Reset All Firebug Options and restart Firefox, but this doesn't resolve the problem.

Obviously one of them is Firebug is stopping even where no breakpoint is set.

The reason that this normally works is that resetting the Firebug options also removes all saved breakpoints. If it doesn't work for you, you should remove the 'breakpoints.json' file in the 'firebug' directory within your profile directory.

The issue mentioned above is lacking a reproducible test case. It was mentioned that to help investigating the problem you should set the preference extensions.firebug.debugCommandLineAPI to true. Then, when you experience the problem again, execute breakpoints() within the command line, which lists you all breakpoints that are currently set.

Background on this: Firebug 2.0 integrates a new debugger API, which is implemented as a client/server interface. Facing this bug means the client-side breakpoints are removed, i.e. the UI, while the server-side breakpoints are still set.