Debugging AIR: ADL fails to launch - apache-flex

I've hit a snag when trying to debug an AIR app using adl.
Although adl successfully launches, the application never appears on screen / starts up.
eg:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="400" height="400"
preinitialize="trace('hello')">
<s:Label text="Hello, world" />
</s:WindowedApplication>
When launching this, the trace is never executed, and the application never appears on-screen.
Other points of interest:
The adl debugger does start (ie., I see it's icon in my dock)
I've tried this with adt from AIR 2.6 and AIR 2.7
This used to work on my machine, and has suddenly stopped (see below)
It makes no difference if I launch from Flash Builder, or by invoking the adt command line directly
I'm on a mac, running OSX 10.6.7
After this stopped working, I tried installing the FB 4.5.1 upgrade patch, in the hope that this would also update any local framework / SDK files to the latest version. This had no effect.
As I mentioned above, This used to work fine, and appears to have stopped.
Around the time that things stopped working, I was doing debugging on another app, which involved installing a firewall to block specific ports. I suspect it may be related to this.
However, I've since uninstalled all firewalls, and it still doesn't work. I'm not sure which port adt uses, but I don't see it attempting to connect when running lsof -i -n -P.
Any suggestions?
Update: I've also since uninstalled and reinstalled Flash Builder (and therefore, the AIR SDK), and it still doesn't work. I think this adds weight to the port conflict, but still leaves me unsure of where / how to proceed
Further update Compiling exactly the same codebase to a AIR installer, installing, and running the application works fine. (Ie., a production release). However, the codebase fails to launch with adl. This pretty much confirms the issue as a local machine config problem somewhere with adl, and not an issue with the codebase.

I have finally (7 weeks later) solved this problem.
In my mm.cfg file, the following line had been placed there by a Firefox extension:
PreloadSWF=/Users/martypitt/Library/Application Support/Firefox/Profiles/vxtpdg3i.default/extensions/flashfirebug#o-minds.com/chrome/content/flashfirebug/flashfirebug.swf
Deleting this made things work again.

I had a similar issue when debugging which was resolved by changing the encode settings from utf-8 to iso-8859-1 in the Debug Configuration Panel -> Common tab.

since it still doesn't work after you've uninstalled and reinstalled, the only thing that make sense to me is that the ADL preferences file is what is persisting the issue. this preference file doesn't get uninstalled when uninstalling Flash Builder as it's not apart of Flash Builder. i would try deleting the preference file and then restarting Flash Builder.
on Mac OS X, you can find the preference file here:
Marty Pitt > Library > Preferences > com.adobe.air.ADL.plist

I had the exact same issue. Tried everything above, and a few other items. What finally made it display was changing the command line arguments. Wow, who'da thunk it.
./adl -profile mobileDevice -screensize iPhoneRetina
webapp/Main-app.xml

I have the same Problem, but in fdt not flash builder. It works when launching with -nodebug parameter, but not when debugging. It seems to have to do something with flex 4.5.1, because when compiling with flex 4, everything works as expected!
edit: it is fixed in the latest flex sdk 4.6.0

Related

VSIX with IWizard extension debug code out of sync

I am trying to figure out how my VSIX project stopped working [VS2022]. following this article, I was able to run and debug my VSIX project with an IWizard implementation. Something changed, I'm not sure what. I can F5-run and everything works but the code executing is not the latest code and I'm unable to hit any breakpoints (VS says No Symbols have been loaded for this document). I can tell its not the latest code because of the debug console messages and the UI is an older version.
I've tried a number of things including
Clean install
Made sure I'm in debug
Removed the extension from VS, and just tried running debug from VS
Verified compiled output is in AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions\ {myextension}
Property settings are set
Assets have not changed
I did mess around adding additional install targets but I don't think this caused any issues
Any ideas how the the project can be out of sync with the code?
I could go back to the start and implement a new project but hoping someone out there can help resolve this issue. Appreciate the help.
I figured this out. I don't know why it works the way it does, but this definitely fixed the problem.
I removed ALL extensions from VS using the extensions manager interface. So, all old instances are gone (but are they?)
In my VSIXProject I would do a clean solution, rebuild, run. I verified that the latest DLL's were being output to
C:\Users{user}\AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions{username}\Acme Project Template\1.0\VSIProject1.dll - VS Build output went here
In the debugger, when my little windows form loaded, I could tell it was old code and caught the reference in the output windows that it was loading an older version of the package.
C:\Users{user}\AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions{username}\Multi Project Name\1.0\VSIProject1.dll - debugger loaded this
C:\Users{user}\AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions{username}\Acme Project Name\1.0\VSIProject1.dll - debugger loaded this after deleting above
C:\Users{user}\AppData\Local\Microsoft\VisualStudio\17.0_c281014fExp\Extensions{username}\Acme Project Template\1.0\VSIProject1.dll - VS Build output went here
After I deleted all the previous extensions in file explorer and re-ran my project, the right code executed and debugging was enabled. IDK why the older versions were picked during debugging but it's fixed. HTH someone.

Flash Builder 4.5 won't run my application

I was running my application from Flash Builder 4.5.1 without any issues. (It is a Flex application that connects to .Net Web Services). However, something has changed recently in my configuration or project, because when I try to run the app with the play or debug button, I just get a grey screen. I can't even stop on any breakpoints.
Eventually (maybe 30 seconds), a message pops up like so: 'The Flash Builer failed to connect to the running application. Please make sure that you are running the debug version of Flash Player...'
I definitely have latest version of Flash Debug Player installed (11.1.102.55). I have tried uninstalling it and re-installing it.
I have tried cleaning and rebuilding my project.
I have tried switching to a different workspace and back again.
I have tried restarting the PC.
I am using the latest version of IE for testing.
I'm really stumped - has anybody got any ideas on how to solve this?
Thanks
Have you tried deleting the html-template folder? This has caused issues for me in the past.
After it's deleted, when you try to build you will have a compiler error/warning about the missing folder. Right click and 'rebuild'.
There are some issues with compatability between 64 bit IE9, the 64-bit flash player, and 32-bit debugger. It seems like flash builder gets confused on which to use. I haven't seen any decent resolution yet in the Adobe forums for this particular issue other than use a different browser for testing.
To switch browsers, go to Window > Preferences... > General > Web Browser in Flash Builder. Select Firefox or Chrome.
In order to use Firefox, you need the Flash Debugger for Netscape compatable browsers installed. You can get that from Adobe here.
To use Chrome, you need to replace the built in flash player that is installed with Chrome with the debug player. Instructions from Adobe are here.

Flex app not working without debug version of Flash Player

Recently, when I tried to show the results of my work (some Flex app) to my boss, i was quite suprised that application which run perfectly well on my pc, on my boss' pc wasn't displayed properly (the only thing visible was a default grey background). After 3h of trying absolutely everything, finally the app showed up when I changed his Flash Player version from standard one to debug (both was v. 10.0.22.87). Does anyone know what can be the reason of this (any compiler flag or sth). Forcing my boss to installing debug FP was quite ok, but forcing final user of the app to do so is unacceptable.
Thanks
PS: By showing I mean deploying to Tomcat on my pc and giving my boss a link to the app. We both use Win XP. Also when I installed debug FP for Netscape browsers and standard FP for IE (on my pc) the result is the same - working in Firefox, Opera, Chrome and grey background in IE. I've compiled both as a Debug and as a Release. I'm using Flash Develop 3.0.2 RTM
After stripping my app to sth like this - it still works only in debug FP
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:ca="components.*"
xmlns:ea="components.editAreas.*"
layout="vertical"
backgroundColor="black">
<mx:Canvas id="header"
verticalScrollPolicy="off"
horizontalScrollPolicy="off"
styleName="header"
width="100%"></mx:Canvas>
<mx:Canvas id="mainContent"
width="100%" height="100%"
verticalScrollPolicy="off">
</mx:Canvas>
</mx:Application>
The same kind of issue i faced few days back.
I was using following code
//Call To The Function
traceDetails(new Error())
private function traceDetails(err:Error):void
{
err.getStackTrace()
}
On My part i was using the method "getStackTrace()" Here the thing to remember is that getStackTrace() method is only available with Flash Debugger and Not With Flash player. So Wherever i do not have Flash Debugger installed my application stops running.
So Things to do
1. Check if Your using any API call that are only available in Flash Debugger and Not in Flash player(If You found Try commenting that line Application will start running).
2. Work around Install Flash Debugger Version wherever you are running your application or Simply before your Flash Debugger API calls Check if(Capabilities.isDebugger) only then use those API or Skip those lines.
I am sure this will solve your problem
Happy Coding :)
Just some suggestions...
Ensure you're deploying the release
build.
After doing that you may want to
delete the browser cache - I
oftentimes have our users do that
after a release since it will
occasionally load the old version
after a release is put out there.
Are you using Modules? Are you maybe
referencing a debug module?
Check your paths defined in the
compiler arguments of the project, as
well as the paths of any Modules you
may be using. Can you provide us with your compiler args?
Are you and your boss using the same version of I.E.?
Did you change the index.html file to reference another swf?
This smells like a security issue to me; the debugger enforces fewer security policies than the standard player, and your mention of Tomcat and those namespace references suggest there's something security-related going on here.
What are components.* and components.editAreas.* used for? Are you attempting to load and access any binary data in your application? Could you maybe post a little more code? Because what you've posted here is pretty innocuous. Might be easier to help with a bit more detail, but again, you're most likely running up against a security restriction somewhere.
I agree with Christian. It has to do with the security policies of the standard flash player. After removing/patching the FlexSprite class, which called the getStackTrace() function, the app is now working fine. Thank you for your help.
surfined

Flex 3 debugging not working with FIREFOX 3

Flex 3 debugging not working with FIREFOX 3 (under vista)
no trace() shown in console. breakpoints not working.
Do you have Flex Builder installed? If not, if you are using the free SDK, did you install the debug version of the Flash player?
Try reinstalling the debug version of the Flash player. Here's a link, in case you didn't. I had the same problem a week back -- corrupted my install. But also check out the config files as suggested in the other answer.
It worked perfect after installing the debugger from the link given above.
The exe that should be installed is listed as "Download the Windows Flash Player 10.1 ActiveX control content debugger (for IE) (EXE, 2.72 MB) " in http://www.adobe.com/support/flashplayer/downloads.html.
Do you have:
ErrorReportingEnable=1
TraceOutputFileEnable=1
In a file called mm.cfg in your home directory? I'm using FF3 on Windows Server 2k3 and it works fine, so I can't speak to why it wouldn't work on Vista. Despite Vista's reputation for being broken, I doubt that this is a Vista-only problem you're experiencing. You're sure you've got the debugging flash player installed?

Could not open the editor: Assertion failed:

when i open .mxml flex file in eclipse it gives error
Could not open the editor: Assertion failed:
Does any one know about it
First of all you can give which operating System and version, IDE version, Flex plugin version, detail of error message. You can try ;
Check eclipse and flex plugin version compatibility if you use flex plugin. (If you use Linux operating system flex plugin compatible with eclipse 3.3 ide if not You can try to install flex plugin on eclipse 3.3 if you use 3.4 or 3.5 and so on)
You can download full package of flex ide instead of flex plugin on eclipse
I think its better to stop searching when you are in Flash and Linux. Here in this link its very much transparent. I tried all the fix provided out there, nothing did really worked what new comers are looking for.
Details: http://labs.adobe.com/technologies/flex/flexbuilder_linux/releasenotes.html#sysreq
Note: GUI will never work, which we are thinking and Autocomplete etc will also not work. So Flash and Linux is actually useless and time lose. The best thing is keep reporting Adobe for this. Because they are counting our Linux Vote.
Try changing your current workspace to another one, it helped in my case.
If you have disabled asking for workspace at startup you can change it here:
Window > Preferences > General > Startup and Shutdown
I just got the same error, after moving my project to a new computer. Turns out the build paths needed to be changed in the new computer. After updating those it seemed to fix the problem.
I struggled with this a couple of hours: my own "solution" to this was that I had Eclipse Galilieo / Weblogic 10.3.2 / Windows 7 set up correctly, but was accidently opening an old Eclipse Helios install pointed to the same projects. In other words yes, its likely a slight path difference or a new name for an updated resource along one of your paths. "assertion failed" is such a generic exception that you could get with so many different softwares, that I thought this input wouldnt hurt...

Resources