Flex - aplicativo de depuração
O Flex oferece excelente capacidade de depuração de código flexível e o Flash Builder 4 possui um excelente depurador integrado e suporte à perspectiva de depuração.
Durante o modo de depuração, o Flex Application é executado na versão Flash Player Debugger integrada no Flash Builder 4, que oferece suporte ao recurso de depuração.
Assim, os desenvolvedores obtêm uma configuração de depuração fácil e integrada no Flash Builder
Neste artigo, demonstraremos o uso da depuração de código do Flex Client usando o Flash Builder. Faremos as seguintes tarefas
- Defina os pontos de interrupção no código e veja-os no Breakpoint Explorer.
- Percorra o código linha por linha durante a depuração.
- Veja os valores da variável.
- Inspecione os valores de todas as variáveis.
- Inspecione o valor de uma expressão.
- Exibe o quadro de pilha para threads suspensos.
Exemplo de depuração
Degrau | Descrição |
---|---|
1 | Crie um projeto com um nome HelloWorld em um pacote com.tutorialspoint.client conforme explicado no capítulo Flex - Criar aplicativo . |
2 | Modifique HelloWorld.mxml conforme explicado abaixo. Mantenha o resto dos arquivos inalterados. |
3 | Compile e execute o aplicativo para ter certeza de que a lógica de negócios está funcionando de acordo com os requisitos. |
A seguir está o conteúdo do arquivo mxml modificado src/com.tutorialspoint/HelloWorld.mxml.
<?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>
Quando você estiver pronto com todas as mudanças feitas, vamos compilar no modo normal como fizemos no capítulo Flex - Criar aplicativo .
Etapa 1 - Coloque pontos de interrupção
Coloque um ponto de interrupção na primeira linha do manipulador de inicialização do aplicativo HelloWorld.mxml
Etapa 2 - Depurar aplicativo
Agora clique no menu do aplicativo de depuração e selecioneHelloWorld aplicativo para depurar o aplicativo.
Se tudo estiver bem, o aplicativo será iniciado no navegador e você verá os seguintes logs de depuração no console do Flash Builder.
[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
Assim que o aplicativo for iniciado, você verá o foco no ponto de interrupção do Flash Builder, pois colocamos o ponto de interrupção na primeira linha do método application_initialize Handler.
Você pode ver o rastreamento de pilha para threads suspensos.
Você pode ver os valores das expressões.
Você pode ver a lista de pontos de interrupção colocados.
Agora continue pressionando F6 até chegar à última linha do método application_initializeHandler (). Como referência para as teclas de função, F6 inspeciona o código linha por linha, F5 dá um passo adiante e F8 retoma o aplicativo. Agora você pode ver a lista de valores de todas as variáveis do método application_initializeHandler ().
Agora você pode ver que o código flexível pode ser depurado da mesma maneira que um aplicativo Java pode ser depurado. Coloque pontos de interrupção em qualquer linha e brinque com os recursos de depuração do flex.