今天更新FD到4.2.0RTM后,FD就不能调试项目了,控制台输出了一段错误信息:
Debugger startup error: System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
在 net.sf.jni4net.jni.JNI.Dll.JNI_GetDefaultJavaVMInitArgs(JavaVMInitArgs* args)
在 net.sf.jni4net.jni.JNI.Init()
在 net.sf.jni4net.jni.JNI.CreateJavaVM(JavaVM& jvm, JNIEnv& env, Boolean attachIfExists, String[] options)
在 net.sf.jni4net.Bridge.CreateJVM()
在 net.sf.jni4net.Bridge.CreateJVM(BridgeSetup setup)
在 FlashDebugger.DebuggerManager.Start(Boolean alwaysStart)
[Capturing traces with FDB]
WTF,之前遇到过这问题,后来通过搜索引擎解决了,没想到又出现了,更郁闷的是已经记不起来当时是怎么解决的,看来很有必要记录一下解决问题的经过,以免今后又被同样的问题困扰...
百度谷歌后,原因找到了,FD无法初始化JVM(Java Virtual Machine,Java虚拟机),因为它没找到JVM的位置,那么只要告诉FD,JVM的位置就能搞定了。
执行3个步骤:
- 找到FD当前使用的SDK的位置。如果你不知道位置在哪,可以通过FD工具栏上的 Tools -> Program Settings...,在左侧的列表中选中AS3Context。
点击右侧高亮项右边的小按钮。
Path显示的路径就是SDK的位置了、。
- 用记事本编辑bin目录下的jvm.config,找到java.home=,在后面补上你的jre的路径,比如我的是:
java.home=D:\Java\jre7,然后保存文件。
- 重启FD。
不出意外的话,你的FD应该可以正常调试了吧。 :)