Open Bug 446625 Opened 13 years ago Updated 8 years ago

Breakpoints change program logic with string === compares

Categories

(Firefox :: General, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

People

(Reporter: johnjbarton, Unassigned)

References

Details

Attachments

(1 file)

In the attached test case, a breakpoint set on line 16 changes the control flow in the program. Even though the test 
aObject.aString === "Hello World" 
results in "true", the else branch is taken.

Obviously this kind of effect is undesirable in a debugger.

As far as I know, Firebug couldn't cause this even if it wanted to. Is it possible that the code generated for === is somehow special?

See also
http://groups.google.com/group/firebug/browse_thread/thread/36abf2816837883f
From the newsgroup:

If I break at line 16 and put
aObject.aString === "Hello World"
in the Watch expression it says "true". It continues to say true when
I single step.

If I set a breakpoint on 19, stop at 16, then Go, I break at 19 with
"true". 
Blocks: 449452
You need to log in before you can comment on or make changes to this bug.