`

在64位操作系统上使用FlashDevelop的Debug功能

 
阅读更多

来自:http://zengrong.net/post/1692.htm

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本文标题:在64位操作系统上使用FlashDevelop的Debug功能
  • 本文链接:http://zengrong.net/post/1692.htm


 

最近用上了FlashDevelop。与Flash Builder比起来,它确实优点很多:小巧,快速,灵活的定制功能,免费且开源。

 

使用FlashDevelop开发AS/Flex/AIR程序的时候,可以使用Flex SDK来编译和调试。Flex SDK使用JAVA写成,需要系统中安装JAVA虚拟机(JVM)。而我的系统中已经安装了64位的JAVA虚拟机。

在调试的时候,FlashDevelop报告了下面的错误。

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)

FlashDevelop是直接调用Flex SDK中的fdb进行调试的,出现这个错误的原因,是因为fdb仅支持32位的JVM。

 

可是,JAVA不是平台无关的么?为什么fdb却只能支持32位的JVM?

的确,纯JAVA程序确实是平台无关的,但是调用了JNI就不同了,JNI是受平台限制的。而通过上面的报错信息,明显能看出是JNI在报错。

找到了问题所在,解决起来就容易了。
下面是解决步骤:

  1. 安装32位的JVM。JVM是允许32位和64位共存的。
  2. 将环境变量JAVA_HOME改为指向32位JVM的安装路径。
  3. 搞定。

但是,在64位操作系统中修改JAVA_HOME环境变量指向32位JVM是个愚蠢的做法。因为这样会导致操作系统中默认使用32位的JVM。所以,有个稍微麻烦一点的办法。

  1. 安装32位的JVM。我的JVM 32bit安装在C:\Program Files (x86)\Java\jre7目录。
  2. 在FlashDevelop.exe文件相同的目录下创建一个startFD.bat文件,写入如下内容:

    set JAVA_HOME=C:\Program Files (x86)\Java\jre7
    start FlashDevelop.exe
  3. 双击startFD.bat,程序会首先设置JAVA_HOME变量,然后启动FlashDevelop,并关闭cmd窗口。

使用这种方式设置的JAVA_HOME环境变量,只在启动FlashDevelop.exe的时候有效,不会影响系统的已有的环境变量。

网上还能搜到一些其它的解决方案,让我们来看看:

方案1来源

复制 jre\bin中的msvcr71.dll到Windows\System32下就可以了

这个方案明显是针对32位操作系统的,所以解决不了本文的问题。

方案2来源

Googling about this problem tells that many users have this in JDK 6 solved with msvcr71.dll, but not for me :(
And it’s because I have latest JDK 7 which needs msvcr100.dll, so just find this DLL in “jre7/bin” directory and copy to FlashDevelop.exe folder.
For thos who had BadImage problem while building on x64 system, don’t forget, that now FD4 uses x32 component, so set JAVA_HOME to point to x32 version of JDK.

这个方案说的比较详细,也指明了JDK7与JDK6所需的msvcr*.dll并不相同。不过按这个方案也是解决不了本文的问题的。倒是最后那句话给了我解决问题的启示。

这是FlashDevelop社区针对这个问题的讨论

分享到:
评论

相关推荐

    在64位操作系统上使用FlashDevelop的Debug功能.txt

    64位使用develop 64位使用fp 在64位操作系统上使用FlashDevelop的Debug功能.txt

    flashplayer debug 版

    "Flashplayer_10.3_ax_debug.exe" 是一个Windows平台上的ActiveX版本的Flash Player Debug版安装文件,适用于在Internet Explorer或依赖ActiveX技术的应用程序中调试Flash内容。安装这个版本的Flash Player,开发者...

    Flash Develop中文版

    如果您使用的是windows 7操作系统,则不需要安装此软件!) 如果您没有安装.net framework,那么启动程序的时候会弹出“应用程序错误”面板! 你只需要安装.net framework就不会产生这样的错误! 同时,为了测试...

    FlashDevelop资料集合

    虽然FlashDevelop不是Adobe Flash Professional,但两者可以配合使用,尤其在处理动画和设计资源时。教程可能涵盖: - **游戏设计基础**:理解游戏的基本结构,如游戏循环、碰撞检测和分数系统。 - **图形与动画**...

    flashdevelop开发工具

    FlashDevelop可在Windows、Linux和macOS等操作系统上运行,满足不同开发者的操作系统需求。 8. **Haxe 支持**: 除了ActionScript,FlashDevelop也支持Haxe语言,这是一种多平台的静态类型语言,可以编译成多种...

    FlashDevelop FlashAPI插件

    在FlashDevelop中,FlashAPI插件是一个重要的扩展,它为开发者提供了更多方便和强大的工具,以提升在AS3(ActionScript 3)编程上的效率。 **插件功能** 1. **代码补全和提示**:FlashAPI插件包含了ActionScript 3...

    flashplayer9 debug

    这个可执行文件(.exe)将帮助用户在他们的系统上安装调试器,以便与FlashDevelop或其他支持的IDE配合使用。 总的来说,FlashPlayer9 Debug是开发和优化ActionScript应用程序不可或缺的工具,它提供了一种有效的...

    flashdevelop平台-搭建-配置

    3. 将Flash Player Debug版本替换原有的Flash Player,放在相同目录下,以便在调试时使用。 接下来,进入FlashDevelop的配置环节: 1. 打开FlashDevelop,导航到`Tools` -> `Program Settings`。 2. 在AS3 Context...

    FlashDevelop-5.3.3.zip

    作为一款绿色版软件,它无需复杂的安装过程,只需解压即可使用,这使得它在各种操作系统环境下都能快速部署。 描述中提到的"actionScript 开发利器,绿色版!"进一步强调了FlashDevelop在ActionScript开发中的重要...

    flashdevelop+actionscript

    而提供的“flashdevelop+actionscript”压缩包,正是一个实践和学习的良好起点,包含了必要的工具和资源,帮助你踏上这一旅程。在实际操作中,不断探索和学习,你会发现这个组合有着无尽的可能性。

    FlashDevelop教程

    在开始使用FlashDevelop之前,你需要下载并安装这个软件。官方下载地址可以在其官方网站找到。安装完成后,你可以设置自定义的工作环境,包括字体、颜色主题以及快捷键,以适应个人的开发习惯。 **2. 创建新项目** ...

    FlashDevelop 3.2.2 RTM 汉化包(含使用说明)

    在使用FlashDevelop时,你将享受到以下一些主要功能: 1. **代码自动完成**:FlashDevelop有强大的代码补全功能,能帮助你快速输入常见的函数、类和变量名,提高编码效率。 2. **语法高亮和代码折叠**:支持多种语言...

    FlashDevelop 汉化补丁

    然而,对于中文用户来说,原版的FlashDevelop默认是英文界面,这可能对一些用户造成使用上的不便。这就是“FlashDevelop汉化补丁”存在的意义。 汉化补丁的目的是将FlashDevelop的界面语言转换为中文,使得中文用户...

    AS3学习笔记flashdevelop平台搭建配置.pdf

    AS3学习笔记FlashDevelop平台搭建配置 AS3学习笔记FlashDevelop平台搭建配置是关于如何搭建和配置FlashDevelop平台的...通过本学习笔记,读者可以快速掌握FlashDevelop平台的使用和配置,提高Flash项目的开发效率。

    FlashDevelop配色方案

    FlashDevelop是一款广受欢迎的免费集成开发环境(IDE),主要用于ActionScript 3、Haxe和Flixel等项目的开发。这款轻量级IDE以其高效、可定制性和强大的代码编辑功能著称。在本话题中,我们将深入探讨“FlashDevelop...

    Flash Develop安装与配置

    确保选择适用于你操作系统的版本,无论是Windows还是Mac。下载完成后,运行安装程序,按照提示完成安装过程。 ### 2. 配置环境 #### 2.1 安装Adobe AIR SDK Flash Develop需要Adobe AIR SDK来编译和运行AIR应用...

    FlashDevelop 3.0 RC2汉化文件

    本资源是FlashDevelop 3.0 RC2版本的汉化文件,使得中文用户在使用过程中能够更加便捷地理解和操作软件。 "FlashDevelop 3.0 RC2汉化文件"这个标题明确指出这是一个针对FlashDevelop 3.0 Release Candidate 2版本的...

    flashdevelop格式对齐插件及应用说明

    在使用插件的过程中,可能会遇到一些问题,如插件与FlashDevelop版本不兼容、功能失效或冲突等。在这种情况下,应及时查阅插件的更新日志和社区论坛,寻找解决方案。如果问题无法自行解决,可以在FlashDevelop的官方...

    FlashDevelop绿色版

    这款绿色版通常指的是免安装、便携式的版本,用户可以直接解压使用,无需在系统上进行复杂的安装过程,便于在不同设备间移动或者保持系统清洁。 FlashDevelop的主要特点和功能包括: 1. **语法高亮与代码提示**:...

    Flashdevelop3.2.2RTMCN 中文版

    FlashDevelop是一款广受开发者喜爱的开源集成开发环境(IDE),尤其在处理ActionScript 3(AS3)项目时,它以其强大的功能和高效的性能脱颖而出。本篇将详细介绍FlashDevelop 3.2.2 RTMCN中文版的关键特性及其组件。...

Global site tag (gtag.js) - Google Analytics