我有一个复杂的,预先存在的Actionscript项目,可以在我现在的雇主那里工作。该项目最初是使用FlashDevelop创建的,对于我作为Mac用户而言,这不是一个选项。我可以成功构建项目并将其部署到其他人。它按预期运行。
问题在于调试。我不能让它发挥作用。我相信Windows机器上的Flash Builder用户已经在他们的机器上成功调试了这个项目。我可以构建和调试我自己创建的项目。这是特定的项目,或者它是如何构建的,它阻止了调试的发生。
症状:
.metadata / .log
中的示例日志消息java.lang.NullPointerException
!STACK 0
!MESSAGE Error processing debugger commands
!ENTRY com.adobe.flexbuilder.project 4 43 2011-08-24 13:35:07.404
at java.lang.Thread.run(Thread.java:680)
at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.run(FlexDebugTarget.java:793)
at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.eventLoop(FlexDebugTarget.java:732)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread$1.run(FlexDebugTarget.java:752)
at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.access$7(FlexDebugTarget.java:642)
at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.advanceStateMachine(FlexDebugTarget.java:668)
at com.adobe.flexbuilder.debug.model.FlexDebugTarget$FdbThread.installDeferredBreakpoints(FlexDebugTarget.java:637)
at com.adobe.flexbuilder.debug.model.FlexDebugTarget.access$4(FlexDebugTarget.java:1006)
at com.adobe.flexbuilder.debug.model.FlexDebugTarget.instantiateBreakpoint(FlexDebugTarget.java:1012)
at com.adobe.flexbuilder.debug.breakpoints.FlexLineBreakpoint.instantiate(FlexLineBreakpoint.java:465)
at com.adobe.flexbuilder.debug.breakpoints.FlexLineBreakpoint.findSourceFiles(FlexLineBreakpoint.java:412)
尝试修复:
-debug=true
项目详情:
配置:
答案 0 :(得分:1)
想出来。我们的应用程序使用了我从其他人那里得到的预加载器。我以为它被编译为调试,因为我总是从我们的调试服务器获得我的副本。我并不完全了解它是如何运作的或它在做什么。
由于预加载器中出现Flash错误,今天早上我第一次被迫编译它。正常编译(作为调试)我意识到非调试swfs加载调试swfs的问题可能适用于此。
一旦我正确编译了预加载器并修复了它的bug,断点就按预期工作了。显然我们的预加载器正在实际加载主应用程序。 Flash Builder显然无法处理此设置(非调试加载调试swf),而FlashDevelop显然可以。
答案 1 :(得分:0)
您是否尝试过重启Mac?
我感觉到你的痛苦,我尝试修复的清单是我先尝试的方法:)
我有类似的情况,经过数小时的诅咒Adobe我重新启动了我的Mac并解决了它(可能是某种内存错误)。