TL;DR = breakpoint in "callback" function after AJAX is causing the debugger to become unstable.
I've got code which is causing major issues on FireBug 2.0 (running on FF 30.0) when trying to debug...
I know this is the most unhelpful thing I could do, but I simply can't replicate the problem with a "simple example". Unfortunately the code is complex to reproduce here.
The situation is this...
- When a dropdown changes, a function is called.
- That function creates an prototype object I have written, and sets one of the properties to a "callback" function
- The object does an AJAX call, and when the AJAX finishes the callback function is run
Setting a breakpoint on a line within the callback function is causing FireBug to stop on the line... HOWEVER...
- the Stack tab shows "Stack frames are just shown when the script execution is stopped"
- the Continue, Step Into, Step Over and Step out are ENABLED, but don't do anything
- Clicking to create a new breakpoint ANYWHERE in the script (either in or out of the callback function) does not create a new breakpoint, but instead a "waiting" animated icon appears, which eventually stops being animated.
- Tooltips ARE working correctly, and showing the values in the variables as expected
Refreshing the page does not clear it - I have to restart FF to get FireBug scripting functionality back.
Here is a simplified example of the sort of code I'm talking about, hopefully it will help...
<select onchange="selectChanged(this);">....</select>
var _changeObj = null;
function selectChanged(dd) {
if (_changeObj == null) {
obj = new SelectObjectChanged();
obj.finished = function(dd2) {
doSomethingElse(dd2);
}
}
obj.runAjax(dd);
}
Putting the breakpoint either on the "doSomethingElse" line, or within the "doSomethingElse" function causes this problem.
I've uploaded a screenshot with the actual code, where you can see it has breakpointed, but the stack is showing the "not stopped" message - and I clicked on line 29, which is now just sitting there with the animation.
Cheers,
Tom