Flex Debugger - watching an expression continuously
Hi all,
Just a quick question about the Flex debugger (version 3).
I have an AS class and I want to monitor a value continuously as the movie is playing. For instance, I might want to watch 'somebutton.x' or 'somebutton.width' - I don't want to use breakpoints because obviuosly every breakpoint stops the animation, and these values change on a window resize - so more or less every frame.
How do I add a watch expression without putting in a breakpoint - the one's I've put in so far remain blank unless I add a breakpoint!
Many thanks
Kevin
you could always trace() the value instead.
Similar Messages
-
Guys.. i have some problem with flex debugger...
well...
i´m trying to debug my application.. bug something doesnt seens right...
on flex build 3... i´m chossing to debug my main aplication...
everything goes well... my application runs on INTERNET EXPLORER.. so i go to the flex builder ... and click on FLEX DEBUGGING...
in the DEBUG PANNEL.. appers to me that i´m connected...
but.. in the variables... breakpoints and expressions.. nothing appears!
see the image:
someone can help me?
cyaThe debugging view allows you to set breakpoints, watch variables, etc.
You need to set the breakpoints in functions where you want the code to stop.
And watch variables may have no value unless you are currently stopped by a breakpoint, and they may have no value if the variable has no valid value at that point in the code, as variables go in and out of existance and scope.
If this post answers your question of helps, please mark it as such. -
I was trying to figure out why breakpoints were working fine for source files in some locations but not others. FlashDevelop's debugger (which I believe is actually the FLEXSDK debugger) was successfully connecting, tracing output, and hitting breakpoints in SOME files, but not others.
I downloaded SWFInvestigator from Adobe Labs and checked the embedded debug paths for various source files to see what was going on.
I discovered that files in which no breakpoints could be hit had their paths embedded in all lowercase (e.g. "c:\users\username\desktop\source\myproject" instead of "C:\Users\username\Desktop\source\MyProject").
So I have two questions:
First, is this a Flex debugger issue, or a FlashDevelop plugin issue? Letter case shouldn't matter or interfere with matching file paths in Windows.
Second, what could possibly influence the letter case of embedded paths in a SWF output by Flash Professional (CS6), such that they are sometimes all lowercase and other times maintain the same case from the file system? And why would that affect a debuggers ability to hit breakpoints in Windows 7? I am compiling in multiple ways. Sometimes clicking Publish within Flash. Sometimes the file being published is not even open in Flash, and my JSFL script file is passed to Flash.exe containing embedded file paths to open the document. Usually, everything seems to work fine, no matter where I publish from, regardless of whether the FLA file is open or not. I'm honestly starting to believe that it depends on how the FLA was last opened in Flash Professional, as though it saves some sort of last access path internally and uses that to embed debug information.I don't think it's the source path in my case, because it's simply the dot ".", although I did check that because it would most likely influence the embedded paths.
In the library path, I use relative paths exclusively, since all my individual project folders exist in the same "source" folder.
Here's how I arrived at the conclusion that something more complex or "stateful" must be occuring:
I publish my files with a one-click application, which does the following
updates version timestamps (static constants) in specific files via regex match
fills in a JSFL template with the FLA filename and writes the JSFL file to disk, then passes the JSFL file path to flash.exe for publication
the JSFL then runs a command, which signals the main application via cross-process communication that the script has finished publishing
That all makes it easy for me to update and publish multiple projects and deploy them, with a single click. Here is the JSFL template I created, which has been drastically simplified since the days where it used to search to see if the file was open in Flash, select the document, and call publish. Now it just uses the publishDocument method to silently publish files without opening them.
var filepath = "FLAFILEPATH"; //template parameter: the URI (beginning with "file:///") of the FLA file to publish
fl.publishDocument( filepath, "PUBLISHPROFILENAME" );
FLfile.runCommandLine("COMPLETECOMMAND");
The C# app replaces the strings in all caps with the actual values. The COMPLETECOMMAND is actually populated with the application's own executable path, along with a "complete" switch, which lauches a 2nd instance, which handles the complete switch by broadcasting a signal over an interprocess channel and then terminates. The main instance captures the signal, triggers a wait handle, and continues with publishing the next file. Here is the core code for it:
private string fillTemplate( string fla_directory, string fla_filename, string publish_profile_name )
string fileuri = "file:///" + Path.Combine( fla_directory, fla_filename ).Replace( '\\','/' );
return EmbeddedResources.OpenAndPublish //JSFL template file embedded as string resource
.Replace( "FLAFILEPATH", HttpUtility.JavaScriptStringEncode( fileuri ) )
.Replace("COMPLETECOMMAND", HttpUtility.JavaScriptStringEncode( "\"" + Application.ExecutablePath + "\"" + " -publishcomplete" )) //call self with -publishcomplete switch to signal main instance's publishCompleteSignal
.Replace("PUBLISHPROFILENAME", HttpUtility.JavaScriptStringEncode( publish_profile_name ) );
private static readonly string FLASH_PATH = @"C:\Program Files (x86)\Adobe\Adobe Flash CS6\Flash.exe";
public void publish( string fla_directory, string fla_filename, string publish_profile_name )
Program.publishCompleteSignal.Reset();
string template = fillTemplate( fla_directory, fla_filename, publish_profile_name );
string curdir = Environment.CurrentDirectory;
string tempJSFLfilepath = Path.Combine( curdir, "temp_script.jsfl" );
File.WriteAllText( tempJSFLfilepath, template );
Process p = Process.Start( FLASH_PATH, tempJSFLfilepath );
Program.publishCompleteSignal.WaitOne( 30000 ); //timeout after 30 seconds
Here's where it gets interesting. The FLAFILEPATH has ALWAYS been passed in as all lower case, yet this publication method has worked 99% of the time for hundreds of publish operations every day. This applies to both the publication of the first SWC, which is referenced by the second published SWF (both were being published with lowercase paths), yet the paths for the main SWF were remaining in lowercase, while those in the referenced SWC were maintaining the correct case from the file system.
So there may be any number of things going on here. SWCs may be published differently than SWFs, such that SWCs always have the correct letter case for debug source files, regardless of how the source FLA project was opened. Ensuring the path passed to publishDocument uses the right case definitely fixes the problem, but it doesn't explain why it usually worked, despite having always been passing a lowercase string. The only variable I can think of in all of this is Windows itself or Flash, such as whether the document was open in Flash at the time the silent JSLF publishDocument command ran, and how that FLA was last opened (via shortcut, via "recent documents" in Flash, via recent documents in Windows. It has to be something, even if it's something as obscure as how the folder path was last accessed in windows, although I strongly suspect it's just how (in terms of path case) the FLA was last opened in Flash.
In any case, I'm happy that passing the right case to JSLF's publishDocument command fixes the problem, so I'm not going to spend any more time trying to figure out how opening the FLA in various ways could affect the embedded debug paths. The only thing that should be done is to address how paths with the wrong case are handled when they do get embedded that way for whatever reason. Perhaps the flex debugger should be updated to use case-insensitive matches in case-insensitive file systems, unless, perhaps, this is a FlashDevelop debugger issue after all. -
Launching the Flex debugger from ant
I use an ant target like this:
<target name="launch">
<echo>LAUNCH</echo>
<exec executable="${FLASHPLAYER_EXE}" errorproperty="trace.output">
<arg line="'${DEPLOY_DIR}\SellersApp.swf'" />
</exec>
</target>
to launch a swf in the debug flash player.
I would like to launch the Flex debugger and make use of break points etc. I tried replacing FLASHPLAYER_EXE with the path to Flex, but that tried to launch a new instance of Flex. I looked at the Ant manual but could not work out how to address the running instance of Flex that launched Ant.
I have been using the Builder configuration method used here:
http://www.rozengain.com/blog/2008/04/24/flex-builder-ant-build-debug-console-output/
But then I run into problems when I just try and run an Ant target independently - it insists on proceeding with the whole launch operation first.
I posted a variation on the question here: http://forums.adobe.com/thread/578171 but I think I named it poorly and put it in the wrong forum - so apologies for cross posting.Unless Eclipse's debug/launch infrastructure is exposed to ant, I'm not sure how this is possible.
However, using the command line debugger - fdb - should be possible from ant.
Another developer has been trying to get this to work. You need to pass -unit to fdb and create a file called .fdbinit that has debugger commands in it.
-Anirudh -
Flex Debugger Error (fdb)
Hi All,
I've been trying to run the flex3 SDK command line debugger
with no success (a frozen cmd prompt on one attempt). I'm running
this by double-clicking on the fdb file, and typing '
RUN
path to my debug swf'.
The error message it's returning makes little sense to me:
Cannot run program "C:\swishsoft\Swift Optimizer\swiftplayer.exe
%1": CreateProcess error=3, The system cannot find the path
specified'
A while back I installed Swift Optimizer on my system, but
deleted it quickly as, frankly, it sucks big time. Just seems
strange that the Flex debugger has mentioned this file (unless
Swift Optimizer has changed something, somewhere that fdb is
reading?).
Can anybody shed any light on this oddity, or - more likely -
what I'm doing wrong?
Thanks!!Okay, figured out a solution to this fdb issue:
Swishsoft, with their useless swf optimizer, make 3
significant changes to your computer's registry, indicating that
their useless swf optimizer is the default JAR Launcher, creating
conflicts with fdb's attempts to launch your debug swf file.
I deleted all 3 entries in the registry (2 of them reverted
back to their default state), and now fdb works as it was designed
to. Problem solved :)
NOTE: Modifying your computer's registry could render your
computer kaput. Tinker carefully ;) -
Can i port the flex debugger to c++ and use it in my application
Hello
i like to build graphical as/flex debugger based on the open source flex , my native language is not English
so from reading the license documents im not sure if i allowed or
not to port/learn how to the flex debugger to c++ and use it as base to my application .
thanks for the help.I heard from friends the best phone reception in India is Nokia or Sony...because the call centres for both companies have call centres in India and they said the best receptions from cellphones/networks is via Nokia or Sony.
I fully support Apple I have many products but if you spend so much money on an iPhone 4S that didn't work out; why not spend time goggling India's network provider/carrier and do some research?!?
Or email Apple support with all your questions, details, informations and maybe thay can help you out more. It was me, the best answer is to Spend the time on research before making a purchase.
Good luck. -
Flash debugger needs an expression-watch window
Hi.
I would like to propose in next update of (CS4 or CS5 - if it hasn't yet implemented) to add an expression-watch window.
I want to use Debugger to find a bug, inside a movieclip, that has dynamic created other movieclips and I want to check some variables. Utilizing the debbuger as is now, for this case, is almost useless - I use trace() instead.
I.e.
var ny = mmask.y-DCs[Cur].y;
I want to see the value of DCs[Cur].y.
In order to see this, in current debugger, I have to:
1. Check "Cur" variable. I.e. Cur == 5.
2. Open Object "this" and find the DCs
3. Open Object DCs[5], and search for y.
It's total timewaste... ...a "trace(DCs[Cur].y);" command is faster - and repeatable in any re-run!...
I never used the Flash CS3/CS4 debugger, because of the lack of such a feature. I don't know if it exist - if it is, please inform me on how to do it.
Add a "watch" variables window, that will allow expression that will refresh them.
It would be excellent - for debugging - instead of using "trace()" to dynamically check code and expressions, to add the "trace" string, into a window of the debbuger, and it to be validate automatically in each refresh (every step/forced refresh).
Thus instead of using trace() here and there in my code, with identifiers in the string, to know where the trace is refering, I would use the trace strings in that expression-watch window - organized in tabs (groups).
It would be great, if we could use and multiple tabs - to set groups of watch-expressions. (I.e. in C++, MSVC 6, had 5 tabs for such reason - and you could add more (and name them)). It also would be great, if those tabs and their watch-expression, could be saved into the file, during saving - thus then to restore them as is, during .fla loading.
I am hoping in CS5 to have add that feature.
That would be a great power for Flash Debugger (replacing trace() with Debugger UI tracing window -> expressions-watch window!), and it would be a really good reason to use it - and/or buy Flash (instead of free applications) for that professional reason.
Btw, also please add the feature to saving the Actionscript Tabs into the .fla file!... It's annoying thing, everytime i am reloading a .fla file, to have to re -set the Actionscripts tabs, in order to continue my work!...
Ps. If this message, is not going to be seen from developers of Flash, please tell me where to add the aboves suggestions for future updates of Adobe Flash - or add them, yourselves!These are user to user forums, and Adobe employee visits are few and far between. Submit your ideas via the link below...
Adobe - Wishlist & Bug Report
http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform -
Flex Builder 3 has a brilliant debugger and I would like to
debug my Flash code in it. The Flash debugger is not as good. How
can I develop my applications in Flash and debug them in
Flex?Okay, figured out a solution to this fdb issue:
Swishsoft, with their useless swf optimizer, make 3
significant changes to your computer's registry, indicating that
their useless swf optimizer is the default JAR Launcher, creating
conflicts with fdb's attempts to launch your debug swf file.
I deleted all 3 entries in the registry (2 of them reverted
back to their default state), and now fdb works as it was designed
to. Problem solved :)
NOTE: Modifying your computer's registry could render your
computer kaput. Tinker carefully ;) -
I'm getting the following ActionScript error when clicking a
button that triggers a handler function, but only in debug mode.
Running the application without the debugger works fine, with
no Actionscript error.
ActionScript Error
TypeError: Error #1009: Cannot access a property or method of
a null object reference.
at portal.access::userForm/::updateUser()
at portal.access::userForm/::saveHandler()
at portal.access::userForm/__saveBtn_click()
I can't seem to set a breakpoint before the error occurs when
pressing the button.hi,
you will need to insstall flash player 10 debug version.You are facing
this problem because current version of flash player installed on your
system is not The Debug version . If you have the debug version then you
browser cant find it .so solution will be to install flash player for both
IE and firefox and check which one of them has debug version working.
http://www.adobe.com/support/flashplayer/downloads.html
download the debug version according to your requirement . this page
contains both debug versions for netscape and IE so should install both of
them if in case you need to switch for testing to different browser.Altough
your problem can also be solved by selecting different default browser from
flex builder in which debug version is installed and working. -
When I run flex application it keeps showing popup window
saying
“Where is the debugger or host application
running?”
choose between : localhost or IP?
is anybody know how to avoid this?
Thanks!
JamilCan it be that your running the debug version of your
compiled flex appliaction (SWF file) ?
If I start the debug version outside Flexbuilder I got the
same question.
If I use the normal version no question is asked.
regards,
kcell -
Airport Express Continues to Blink Green
I got a airport express for my birthday and when trying to set it up it just blinks green. I plan to use it with speakers but i have also tried it as a router with the same problem. I have tried to reset and same problem happens. Any ideas?
Start over by resetting your AirPort Express (AX) back to factory defaults as follows:
Power down the AX for a few moments
Hold in the reset button and keep holding it in as you plug the AX back in to power
Release the reset button after 10 seconds
By default, the AX creates a wireless network with a name like +apple network xxxxxx+, where the "x" can be either a letter or number. You will need to log on to this network with your computer. Once you have done this, you should be able to open AirPort Utility to "see" the AX.
Click "Continue" and follow the guided setup to configure your AX. -
I'm having trouble with my airport express continually disconnecting from my network.
I have my airport express set up to extend my network wirelessly from my Airport Time Capsule base station. My base station is setup in the basement connected to my Comcast internet router (Motorola Surfboard SB6141). My Airport Express is on the main floor in our computer room and is connected via ethernet cable to my iMac. About 1x/day the express drops connection to the Time Capsule and the only way I can seem to get the extension back up and running is to stop/start the Time Capsule. Any ideas on what is wrong?
The easiest way to set up to most provider routers is to set up the time capsule to bridge mode with dhcp enabled--meaning the time capsule pulls an IP address from the providers router. Then connect the other express or extreme to time capsule using apples built in bridging.
Doing it this way gives your network one dhcp server--the providers router. This way you will be able to reach all your providers tv receivers for the app controllers because all devices will be on the same subnet.
The trade off is the controlling device for firewall and ports is the providers router. So if you want remote access to your hard drive in the time capsule you will need to allow this through the providers router.
To me it sounds like you have 2 dhcp servers and when you reboot the dhcp server that boots up the quickest give the IP address out. Then when the time to live timer expires and the devices needs to check and make sure it is still good with its IP address another dhcp server steps in and causes your issue. -
Flex debugger can't connect to player
in flex, I click the debug button, after which firefox opens
up with my movie. flex's debug progress bar times out after two
minutes once it fails to connect to the player. I have flash
version 9, and I know it's the debug version because I can
right-click on a movie and I see the "debug" option. If I use the
standalone debug player, it sends output to the console, but even
when its running and flex is looking for a player to connect to it,
it doesn't do anything.
i'm running ubuntu 7.10 (linux)
thanksI've had the same issue where it mysteriously couldnt
connect. I just installed the Flash debug player again (windows
though) and it restart FB, worked for me. -
Audio in videos watched in firefox continually goes out of synch?
Over the last 12 months any audio in any video i watch in Firefox will go out of synch, it doesn't happen in chrome or opera or even IE, only firefox.
I have enabled hardware acceleration and tried all the "fixes" found online, and nothing works.If the original audio was recorded in 12 bit mode, it's likely to consistently drift out of sync. This can sometimes be solved in iMovie by Extracting the Audio from all the clips.
A couple ideas to consider:
- split the project to go onto two DVDs and use a case that holds both.
- create a disk image (Save As Disk Image) which creates a virtual DVD on your desktop that you can play/check.
- burn the disks at a slow speed setting.
John -
Airport express continually diasppears from admin utility
Hi people
I have an apple airport express and airport airport extreme base station
both with the latest firmware patches.
The airport extreme is connected to my optus cable modem and provided internet for my partners wireless laptop and my desktop. My desktop is plugged in via ethernet to extreme base station.
I can start the admin utility and run air tunes for a few minutes then the base station disappears from the admin utility and my connection to air tunes breaks. My connection to the internet remains ok.
If my partner uses her laptop via wireless to serve up airtunes the connection is stable and the basestation does not disappear from her admin utility.
No sure what is going on here, if anything i would have thought that a direct ethernet connection should be more reliable than a wireless connection. This is a very disappointing result as i specifically went the apple kit to ensure that the airtunes express would work with my router...
Any thoughts or is it (as i read other similar posts) completely broken ??
regards
Mark WI have this exact same problem. It's like something spontaneously just ceased to work inside the AE unit. I don't understand it.
I tried updating the firmware to 6.3 and updated Airport on the G4 to 4.2.1, but nothing has changed. If anything, the problem seems to have gotten worse (sometimes connecting -- > NEVER connecting).
All the forums I have read seem to think this problem has yet to be solved by Apple. They recommend downloading iStumbler or a utility to monitor your networks and keep them "alive" by constantly pinging with a low-level signal. That hasn't worked either.
Need expert advice, please.
Maybe you are looking for
-
Multiple application launch failures
My daughter's iMac G4 flat panel has been stable for a long time, but now Word, Appleworks, AOL and a couple of other apps fail to launch. When Word fails I get a message others have posted, "The Application Word could not be launched because of a sh
-
IPhone Device is not specified in Windows 7 after update to iOS 5
After i updated my iPhone to iOS 5, my iPhone device become unspecified. However, my iTunes still able to detect my iPhone and sync with no problem. Another thing is my iPhone icon disappear and become a weird device, and it shows Apple iPhone instea
-
My mac mini keeps freezing up on me at random
Completely at random it gives me the turning beachball? I have tried to google the issue but anything i have found doesnt seem to work, i did see some suggestions from other people to run etrecheck so i did and here are the results. I should also add
-
Free goods is issued, but R100 discount is not triggered in proforma invoic
hi all, free goods is determined in sales order with 100%discount for the free item, but in the proforma invoice (F5) the free item is coming with price. in copy controls between sales order and proforma invoice(F5) the pricing type is G "copy pricin
-
Purchase to Order Scenario - Partial Confirmation Issue
Hello Team, We are using Item Category with Purchase to Order Scenario. When the Sales Order is booked, Purchase Requisition is Created. Sales Order Line is linked to the Purchase Requision/Purchase Order. In this scenario, we are getting confirmatio