好久没写教程,实在是忙,现在想写点什么,虽然很早以前说过写些关于lcds其他方面应用的。
但是我想,有能力研究那了,基本上也不用我再来多此一举了。
现在新人很多,所以决定写些基础的东西来帮助新人。
以下内容主要是对新人说的。高手无视。
Flex论坛一直加入着很多新鲜的血液,作为版主很高兴看到大家来到这里学习和分享经验。
来这里的很多人是编程高手,学习Flex自然很容易上手,以前的经验也能很快的转换到Flex中。
也有很多没怎么接触过编程,被Flex美好的界面所吸引新人,决定加入大家。
不管什么样我们都很欢迎。
在这里来大家多是提问题,“旧人”帮新人理是正常。
不过新人由于基础薄弱,不单单是指Flex,而且也涉及一些软件开发的基础。往往很简单的问题,或者很容易排除的问题,弄半天。
再来这里问,有些问题也不会得到很好的解决,甚至是没人回答。不是因为这里没人。
因为很多问题需要通过症状或者详细的调试才可以知道,而仅仅一个提问是无法帮助解决问题的。
归根到底,新人缺少一些对付错误的“诀窍”和“灵感”,那就是调试。
我不希望大家一谈到调试,就认为是alert或者trace,我一问,你调试去看看,对方就回答alert是空(说实话,我很烦,这对排除错误基本没帮助)。
trace和alert那只是其中很局限的一种手段,当然某些情况也是有特殊价值的。
授人以鱼不如授人以渔,还是帮助各位新人了解一下代码调试,养成一个良好的调试习惯、思路对今后开发帮助无穷。
真正的调试是设置断点,有计划的,一步一步的监视你的程序逻辑,数据变化和结构的。
往往很多表面上看不清楚,想不明白的问题,通过调试我们就能发现,哦,原来如此简单,哦,原来是这里的问题。
出现问题,不要想当然的认为应该是怎么解决,然后就动手去改,改来改去不得要点(这话高手忽略)
特别是遇到一些,服务器返回的数据为什么获取不到?为什么报“无法访问空对象的属性和方法”这样的问题。
说实话,除了你自己调试,我们无法帮你,除非帮你做出来。这样还是你在开发吗?
也许大家心情好,或者问题一票就知道了,就告诉你是某某地方出了问题,但是下次遇到同样的错,你仍然不知道怎么解决,或者你可能避免了范同样的错,但是你仍然不知道为什么要这么做。
长期这样,其实对于提高自己的开发能力没有好处。
新人可能从来没摸过,怎么调试?
值得庆幸,FlexBuilder提供了比较好的调试能力(.net过渡的不要和vs比),通常安装FB的时候,会自动给你的机器上安装上【调试版】的flashplayer。
我们要调试,类似运行程序那样,选中需要调试的文件,在右键菜单中找到debug as->Flex Application即可浏览调试状态下的应用。

附件:
您所在的用户组无法下载或查看附件有些同学会遇到“not debugger”不是调试器的错误

附件:
您所在的用户组无法下载或查看附件这是因为,由于某种原因(重装系统、多个浏览器、flashplayer升级时注册表信息错误等等),你调试的浏览器中,没有安装调试版的flash player,到http:
www.adobe.com/go/flashplayer_debugger去下载。
其实在FB安装目录下/player/win这个目录里有调试版的fp,运行下就可以了。
需要注意的是,FF和IE的调试器是不同的,针对自己的浏览器来安装。
如果还出现这个错,说明你人品不好;)
开玩笑,还出现这个错,多数是由于fp升级时注册表错误导致。
你就去找个flash player卸载工具,卸掉你的播放器组件。重新安装。
OK,你已经学会了debug第一步,就是以debug模式来运行程序。
这样看起来和直接运行没什么区别啊。是的,除了能在控制台下显示trace的字符外,
想要一步一步的来观测程序的逻辑是如何走动、变量或属性是什么样子的,就必须要设置断点。
什么是断点,是的,我当各位同学是菜到不行的菜鸟。
断点是在调试过程中,让你程序流程暂停的那个点,
断点设置很简单,在你想停下来的那一行代码的行号前双击即可设置或取消断点了

附件:
您所在的用户组无法下载或查看附件而在哪里设置断点,则是一个经验的过程,只有方法体内可以设置断点,因此设置断点全凭你对程序逻辑的理解和判断。
比如你现在想知道远程调用返回的数据格式是怎么样的。那么你就需要在回调方法中设置断点,而不是仅仅只在请求时设置,
因为flex中,远程请求是异步的。回调的方法并不是在请求方法执行完成后就立马调用的。
进入断点调试时就会切换到Flex Debugging视图,这个视图中,可以监测变量,控制断点等等
进入断点后,程序就会挂起,逻辑就在断点处暂停,
直到你通过“Step into(跳进,如果断点行执行了一个方法则会跳进这个方法的逻辑),
step over(跳过,逻辑进入到下一行),
step return(直接跳到方法返回之前的那一步)”等命令来控制流程和逻辑的走动。

附件:
您所在的用户组无法下载或查看附件我们若是查看一个变量的结构或者值,就可以通过在代码中选中这个变量,右键选择watch ..

附件:
您所在的用户组无法下载或查看附件在expression面板中看到所监视数据的结构,而且可以根据当前走到不同逻辑实时的看到数据的变化。
对于复杂的数据结构来说,这无疑比trace或者alert出的东西好的多。

附件:
您所在的用户组无法下载或查看附件ok, debug的入门就介绍到这里,其实debug不仅仅可以用来排错。
对于研究复杂的算法逻辑,整理思路,理解别人的程序流程都是非常好的工具。
希望在遇到问题时,你能深刻的剖析你的程序。