加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex – 我可以构建Adobe AIR应用程序的调试版本吗?

发布时间:2020-12-15 02:13:10 所属栏目:百科 来源:网络整理
导读:我正在尝试在客户端计算机上调试问题.问题是该问题是一个运行时错误,几乎没有关于它的位置的线索.这是一个间歇性的问题.我知道ADL允许我以调试模式运行应用程序.问题是告诉用户下载和管理ADL调用将是非常困难的.如果我能给最终用户安装和运行一个安装/可执行
我正在尝试在客户端计算机上调试问题.问题是该问题是一个运行时错误,几乎没有关于它的位置的线索.这是一个间歇性的问题.我知道ADL允许我以调试模式运行应用程序.问题是告诉用户下载和管理ADL调用将是非常困难的.如果我能给最终用户安装和运行一个安装/可执行文件然后向我发送问题的痕迹,那将会容易得多.所以我正在寻找的是客户端能够在调试模式下运行AIR应用程序的简单步骤.下载ADL并找到应用程序的安装位置将很难与最终用户远程管理.

更新:
您必须确保使用AIR 3.5和Flash 11.5,并在其他编译器设置中包含以下标志“-swf-version = 18”.然后,您必须捕获答案中提到的全局错误,它将显示错误的位置.当然没有行号.只是常规名称.非常感谢李先生的回答.

解决方法

不是直接的答案,但如果您发布AIR3.5(或3.6 beta),您可以获得一些调试信息:

为未捕获的RTE添加一个监听器到您的应用程序的顶级:

this.loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR,errorHandler);

并从侦听器中的错误中获取调试信息:

function globalErrorHandler(event:UncaughtErrorEvent):void
{
    var message:String;
    //check for runtime error
    if (event.error is Error)
        message = (event.error as Error).getStackTrace();
    //handle other errors
    else if (event.error is ErrorEvent)
        message = (event.error as ErrorEvent).text;
    else
        message = event.error.toString();
    //do something with message (eg display it in textfield)
    myTextfield.text = message;
}

即使对于发布AIR应用程序,getStackTrace也将返回堆栈跟踪(只要您使用AIR3.5或更高版本).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读