Friday, March 26, 2010

Hallowe'en spooky debugger bug...

Take a look at the screen captures attached to this post.?I cannot explain why Flex is including the column-alias ''as shorttitle'' in the _sql string tooltip when I?place the cursor over the _sql variable. That column-alias was in a previous version of the string; but I removed that column-alias, saved the program file, and have even shut Flex down and re-opened Flex since making that edit!

The only anomalies: I was debugging happily, running my program in the debugger, making changes, running in the debugger again, etc etc and suddenly got an error that the wrong Flash version was installed. But then?I was able to debug again without the error reappearing. And then there was an ''internal error'' message, but after I deleted a program that extended Array it too went away and I was able to run the program and debug. And then I noticed the above hint showing an old version of the string. See pics attached.

BTW, the _sql variable is declared at the top of the class:

private var _sql:String;

Hallowe'en spooky debugger bug...

Not sure why this is happening to you, but I can tell you that it's unlikely that the debugger is getting it wrong.?The debugger gets the value by asking the Flash player for it, and the Flash player looks it up and sends back the result, as you would expect.

I wonder if the browser had cached a previous version of the swf, and is running that??Try refreshing the browser.

Can you test the value at runtime??E.g. add a trace(_sql) statement to your code, and see what shows up.

As for the one-time error message about the wrong version of the Flash player being installed, that sounds like bug FB-16153, which was fixed by a new release of the Flash player and the AIR runtime around July.?Make sure you have the latest debug player from http://www.adobe.com/support/flashplayer/downloads.html .

- Mike Morearty, Flash Builder team

Hallowe'en spooky debugger bug...

Mike, I'm certain that Flex has the value wrong in the tooltip but only in the tooltip. The tooltip somehow got out-of-sync with the debugger.

Does the tooltip draw its display value from data that is persisted to disk between sessions? Does reloading a project after opening Flex Builder recreate all tooltips from source files in RAM in the editor, or does Flex read a persisted state from disk? After I renamed the variable to _sql2 (from _sql) the tooltip synched-up.

It's an AIR (desktop) application, BTW.

I will check to make sure I have the latest Flash Debug Player. Since I downloaded just a few weeks ago, I would hope so, unless Adobe is leaving old-version booby-traps lying around.

No, the debugger does not cache its tooltips anywhere. Each time it displays one, it recomputes the value, since the value may have changed. The code for tooltips is the same code that runs in the Expressions view. Also, the part that resolves variables to their values is the same code that is used in the Variables view. Anyway, sorry it was giving you trouble, but I'm glad you found a workaround. If you have a reproducible case, it would be great if you could log a bug with repro steps on bugs.adobe.com/flex. Thanks!

Forgot to mention, at the same time that we released the new Flash Player, we also released a new AIR runtime.

No comments:

Post a Comment