Flex提供了卓越的調(diào)試靈活代碼的能力,并且Flash Builder 4具有優(yōu)秀的內(nèi)置調(diào)試器和調(diào)試透視支持。
在調(diào)試模式期間,F(xiàn)lex應(yīng)用程序在Flash Player Debugger版本上運(yùn)行,F(xiàn)lash Builder Debugger版本內(nèi)置在支持調(diào)試功能的Flash Builder 4中。
因此開發(fā)人員可以在Flash Builder中獲得一個(gè)簡(jiǎn)單的內(nèi)置調(diào)試配置
在本文中,我們將演示使用Flash Builder調(diào)試Flex客戶端代碼的用法。 我們將執(zhí)行以下任務(wù)
在代碼中設(shè)置斷點(diǎn),并在BreakPoint Explorer中查看它們。
在調(diào)試期間逐行逐行。
查看變量的值。
檢查所有變量的值。
檢查表達(dá)式的值。
顯示掛起線程的堆棧幀。
步驟 | 描述 |
---|---|
1 | 在 Flex - 創(chuàng)建應(yīng)用程序章節(jié)中所述,在包 com.tutorialspoint.client 下創(chuàng)建名為 HelloWorld 的項(xiàng)目。 |
2 | 修改 HelloWorld.mxml ,如下所述。 保持文件的其余部分不變。 |
3 | 編譯并運(yùn)行應(yīng)用程序,以確保業(yè)務(wù)邏輯按照要求工作。 |
以下是修改后的mxml文件 src / com.tutorialspoint / HelloWorld.mxml 的內(nèi)容。
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" minWidth="500" minHeight="500" initialize="application_initializeHandler(event)"> <fx:Style source="/com/tutorialspoint/client/Style.css"/> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.FlexEvent; protected function btnClickMe_clickHandler(event:MouseEvent):void { Alert.show("Hello World!"); } protected function application_initializeHandler(event:FlexEvent):void { lblHeader.text = "My Hello World Application"; } ]]> </fx:Script> <s:BorderContainer width="500" height="500" id="mainContainer" styleName="container"> <s:VGroup width="100%" height="100%" gap="50" horizontalAlign="center" verticalAlign="middle"> <s:Label id="lblHeader" fontSize="40" color="0x777777" styleName="heading"/> <s:Button label="Click Me!" id="btnClickMe" click="btnClickMe_clickHandler(event)" styleName="button" /> </s:VGroup> </s:BorderContainer> </s:Application>
準(zhǔn)備好所有更改后,請(qǐng)按照 Flex - 創(chuàng)建應(yīng)用一章中的常規(guī)模式進(jìn)行編譯。
在HelloWorld.mxml的application_initializeHandler的第一行放置一個(gè)斷點(diǎn)
現(xiàn)在點(diǎn)擊<img class="“inline" src"="" attachments="" tuploads="" flex="" debug_icon.jpg="">調(diào)試應(yīng)用程序菜單并選擇 HelloWorld 應(yīng)用程序來調(diào)試應(yīng)用程序。
如果一切正常,應(yīng)用程序?qū)⒃跒g覽器中啟動(dòng),您將在Flash Builder控制臺(tái)中看到以下調(diào)試日志
[SWF] \HelloWorld\bin-debug\HelloWorld.swf - 181,509 bytes after decompression [SWF] \HelloWorld\bin-debug\HelloWorld.swf\[[DYNAMIC]]\1 - 763,122 bytes after decompression [SWF] \HelloWorld\bin-debug\HelloWorld.swf\[[DYNAMIC]]\2 - 1,221,837 bytes after decompression [SWF] \HelloWorld\bin-debug\HelloWorld.swf\[[DYNAMIC]]\3 - 1,136,788 bytes after decompression [SWF] \HelloWorld\bin-debug\HelloWorld.swf\[[DYNAMIC]]\4 - 2,019,570 bytes after decompression [SWF] \HelloWorld\bin-debug\HelloWorld.swf\[[DYNAMIC]]\5 - 318,334 bytes after decompression
應(yīng)用程序啟動(dòng)后,您將看到對(duì)Flash Builder斷點(diǎn)的關(guān)注,因?yàn)槲覀円褜帱c(diǎn)放在application_initializeHandler方法的第一行。
你可以看到被掛起的線程的stacktrace。
您可以查看表達(dá)式的值。
你可以看到放置的斷點(diǎn)列表。
現(xiàn)在繼續(xù)按F6,直到到達(dá)application_initializeHandler()方法的最后一行。 作為功能鍵的參考,F(xiàn)6逐行檢查代碼,F(xiàn)5進(jìn)一步向內(nèi),F(xiàn)8將恢復(fù)應(yīng)用程序。 現(xiàn)在你可以看到application_initializeHandler()方法的所有變量的值的列表。
現(xiàn)在你可以看到flex代碼可以調(diào)試與Java應(yīng)用程序可以調(diào)試相同的方式。 將斷點(diǎn)放置到任何行,并使用flex的調(diào)試功能。
更多建議: