how to debug a swf file - actionscript-3

I'm quite new to AS3 and now I need to solve a swf crash problem.
I have the source code and fla file, so I can debug/run it in FL, I can use trace to print out log. The problem is, on my machine, either run in FL or generated swf embed in IE works correctly. But the swf always crashes on tester's machine.
Because the swf is run in IE, trace seems doesn't work, so I'd like to know if there's any tool I can use so that I can see all the trace output on tester's machine.
Thanks

Trace only works while working directly with Adobe Flash.
What you can do is call a javascript alert to display the Trace elements inside a BROWSER. Please note it will not work while directly opening the .swf
ExternalInterface.call("alert",output);
But their should be no different in handling any .swf except for the installed Version of the Flashplayer on each computer.
If it runs fine on your IE, then it should on the other as long as Flash Version and IE Version are the same.
Outdate Version usually lead to this sort of conflict.

Related

Adobe Animate cc 2017 - HTML5 freezes when I publish/test project with audio

Adobe Animate cc 2017 - HTML5 freezes when I publish/test project with audio
I'm working on a small game, using Animate 2017 and exporting it to HTML5. I'm using createjs.Sound to add the sound fx I've added to the library. When I publish or "test" the project, it freezes the loading bar. On OSx it stays at 0%, on windows it goes up to 70% but freezes anyway. The only option being to force quit the app. I'm following a tutorial from Pluralsight, and I've tested the tutor's project and I get a slightly different issue, the project gets published, the browser starts everything automatically but nothing happens afterwards, instead of the game starting, it just stays a black canvas (no errors in the console).
A few more data to help troubleshoot, the tutor's project is using .mp3 files and I'm using .wav audio. I've been trying to look through the OSX auto generated error report, but I can't make heads or tails of what it says.
Animate mac/windows version - 2017.0.1 Release (16.0.1.119)
Turns out it was a corrupted symbol or something that was causing the program to crash. Converting the project to ActionScript 3 and then back to HTML5 solved the issue.
https://forums.adobe.com/thread/2425008
If anyone experience a AnimateCC crash issue in Mac, It might be an issue with long audio file name. I found that if the audio file name is greater than 29 characters, AnimateCC crashes when publishing. Here is a sample test file.
https://drive.google.com/file/d/1dEBdM4laszCXFa3Bz4tS3yHh-8PbLaGo/view?usp=sharing
As you can see, the file crashes when you try to export. It has only one sound file in the library. When you remove one character in the file name, it gets published successfully. I tested this in AnimateCC version 18.0.2 (Build 126).

swf file terminates automatically after publishing

I create app using flash cs 5.5. It works fine. Then I started using flash cs6. The app was running fine until today. It runs fine but the problem is when i tried to publish it, it start playing but after some time(about 30 secs), swf file terminates itself. There is no problem in using cs5.5. It's just when i tried to publish it, it runs and swf file is close itself. Do any one have any idea what might be the problem ?
When you say "the swf file terminates itself", are you talking about the standalone flash player? Normally if this happens, it's because an error was thrown, but if you're not using the debug player, you won't see it, it'll just close.
Download the debugger player here: http://www.adobe.com/support/flashplayer/downloads.html and run your swf in debug mode (so all the debug symbols are present and you get the most complete error message). This should give you an idea of what the error is, and where to go to fix it.
NOTE: to know if you're running in the debug player or not, right-click on the swf in the player, and if you see an option for "Show redraw regions", then it's the debug player

Flash swf publishing

I have a problem here regarding flash+as3.
I'm makin an application that take data from XML file and show it on flash.
Now here's my problem.
When I preview the file, it went just fine. All the data been shown on the flash.
When I published it into .exe file, it also went just fine. All data been shown.
But...
When I published it into .swf file, there's a problem. All the graphical images been show, but data that i got from the XML file does not shown.
But when I took the published file and drag it into flash, it went just fine. All the data been shown.
I'm not quite sure what happen. Is there any setup that I have to do to solve this problem?
Thanks guys.
2 possible problems:
your path to the xml data is relative and your published swf can't find it.
More likely your xml data is on a web server and you are looking at the swf through a local webpage using file:///myfile.html. This fails because of security. Adobe have decided that local swfs can only look at local content, and network swfs can only look at network content. This rule is disregarded in the flash ide because if you have the flash ide you are a developer and you should know what you are doing.
Check out your swf on a web server and report back.

Flash event errors on IIS7+

Flash app I've built works fine on desktop and on IIS6, but when I upload to IIS7+ it breaks.
Most of the app appears to work as expected but a crucial test fails. I think it's a custom event that is failing, but I've no idea why when it works perfectly everywhere else.
Anybody else has issues with Flash and IIS7+?
My app is built with Flash CS5 and AS3 for Flash player 10.
BTW it's not a MIME type issue.
Any help appreciated.
Thanks
Barry
Don't use the '+' character in filenames on servers running IIS7+. IIS7 treats these as if they were query strings. So a filename 'hello+world+today.jpg' will be translated into 'hello.jpg?key=world+today'. This sometimes fails silently in Flash without throwing an IOError, assuming you set up to receive one of course.

When I zip up my demo FlashDevelop project..why does it break?

I built an AS3 image gallery using FlashDevelop.
Before I zip up the application, I can run the image gallery in my browser by simply opening the index.html for the project. Everything works perfectly.
I then zip up the project as proj-0.1.2.zip using winrar.
I then unzip this newly created zip and try to load the application using the project index.html like above. The gallery doesn't function properly. From seeing what happens, it appears as though the image metadata is not present(but I'm not sure, see below).
There are other applications as well that are broken. Videos don't load. If an application doesn't depend on any external assets then everything looks fine.
Another thing..If I then build the FlashDevelop project and republish the swf..then it works in the index.html like I want. What is going on here?
I want people to be able to fire up my demo apps out of the box by just running the index.html. If that doesn't always work and they have to figure out that they need to rebuild the SWF then that's pretty bad.
I don't think zipping is the problem, I think moving to a different folder is a problem.
I assume you are running this index.html on your local PC, and not on a webserver?
By default, Flash cannot access from a local SWF to load other local files. However, FlashDevelop / Flash CS3 / Flex Builder, in order to get around this restriction, set some flags in the flash player telling him "This SWF is a trusted SWF, allow him to open local files". But it's based on the exact location of the SWF.
There's a setting somewhere in the compiler, that sets a flag in the SWF saying "This SWF can access local data", but there's one downside: It blocks all access to network resources. So it's either/or: access local data, OR access network resources (anything that goes over HTTP, Socket, etc). I'm not sure where this setting is offhand. It may be that the default setting for Flash CS3 is different than the default setting for FlashDevelop.
Anyway, the easy way to avoid all this issue is to not run the file locally. Put it on your webserver before testing.