FlexI recently ran into an issue where Flex Builder 3.0 wouldn’t let me debug and caused my whole System (OSX) to grind to a halt.  It took me a while to get to the bottom of it, but I found the issue and addressed it. 

Basically Eclipse had this error –over and over and over and ove…100+MB worth :-) in the system.log
Aug 17 15:21:31 machine-name [0x0-0xc30c3].org.eclipse.eclipse[8730]: !ENTRY com.adobe.flexbuilder.debug 4 2 2008-08-07 15:21:31.716
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]: !MESSAGE Problems occurred when invoking code from plug-in: "com.adobe.flexbuilder.debug".
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]: !STACK 0
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]: java.lang.NullPointerException
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at com.adobe.flexbuilder.debug.breakpoints.FlexLineBreakpoint.findSourceFiles(FlexLineBreakpoint.java:388)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at com.adobe.flexbuilder.debug.breakpoints.FlexLineBreakpoint.instantiate(FlexLineBreakpoint.java:442)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at com.adobe.flexbuilder.debug.model.FlexDebugTarget.breakpointAdded(FlexDebugTarget.java:889)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.installDeferredBreakpoints(FlexDebugTarget.java:539)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.advanceStateMachine(FlexDebugTarget.java:570)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.access$6(FlexDebugTarget.java:544)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at com.adobe.flexbuilder.debug.model.FlexDebugTarget$1.run(FlexDebugTarget.java:646)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at org.eclipse.core.runtime.Platform.run(Platform.java:857)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.eventLoop(FlexDebugTarget.java:626)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.run(FlexDebugTarget.java:687)
Aug 17 15:21:31 machine-name [0×0-0xc30c3].org.eclipse.eclipse[8730]:     at java.lang.Thread.run(Thread.java:613)

A little googling turned up this article where the guy points to a setting in the mm.cfg.  Issue resolved?  Not so fast.  My issue had similar symptoms but was not identical.  After some trial and error I figured out that I had been building the SWFs in two different fasions: via ant and with Flex Builder.  So it turns out that Flex Builder was finding the SWFs built by my build files and going into a recurring NPE fit.  Flex Builder basically inundated the system.log to the point of no return.  I could have waited for 2 days, but I chose to manually rotate the log myself (which took some googling to turn up the right solution).

Hopefully Flex Builder 3.0 has fixed this.

Symptoms:
Flex Builder hangs when setting a breakpoint (can’t debug – Eclipse and the system goes ‘out-to-lunch’)

Solution:

  • Remove the duplicate swf’s or profiling versions
  • Your machine still out to lunch? (syslogd)   Then you will have to manually rotate your system log, since its too much for syslogd to handle.

sudo launchctl stop com.apple.syslogd && sudo mv /private/var/log/system.log ~/system.log.NPEFilled && sudo launchctl start com.apple.syslogd
(Stop syslogd, move the system.log file, start syslogd)

  • Happy Debugging!


Reasoning:
Flex Builder goes into a flurry of recurring java.lang.NullPointerExceptions when trying to resolve the source attachment when there are multiple versions of the same swf.  You won’t be able to debug or set a breakpoint.  If you do, Your system log will be overloaded because of the massive onslaught of NPEs reported by Eclipse/Flex Builder.  Syslogd tried to rotate the system log but it is just too large for it to handle after you’d let the recurring NPEs go on for a minute, so manually rotating the log seems like a good solution (got a better one?)

One Response to “Flex Builder 3.0 Debugging issue - Unable to debug”

  1. #1 Filo says:

    Thanks for your help! I was having similar problems with not being able to debug flex projects. I deleted all old builds and started again with a debug build. I actually ended up creating a new mxml file and copying previous code into that. Then I made ran a debug build for this. Anyway it worked

Leave a Reply