네트워크 연결을 통해 FDB를 사용하여 원격 디버깅

명령줄 FDB(Flash Debugger)를 사용하여 장치에서 실행 중인 응용 프로그램을 디버깅하려면 먼저 개발 컴퓨터에서 디버거를 실행한 후에 장치에서 응용 프로그램을 시작하십시오. 다음 절차에서는 AMXMLC, FDB 및 ADT 도구를 사용하여 장치에서 응용 프로그램을 컴파일, 패키지화 및 디버깅합니다. 이 예제에서는 결합된 Flex 및 AIR SDK를 사용하고 있으며 Path 환경 변수에 bin 디렉토리가 포함되어 있다고 가정합니다. 이러한 가정은 명령 예제를 단순화하기 위한 것일 뿐입니다.

  1. 터미널 또는 명령 프롬프트 윈도우를 열고 응용 프로그램의 소스 코드가 들어 있는 디렉토리로 이동합니다.

  2. amxmlc로 응용 프로그램을 컴파일하여 디버깅이 사용되도록 합니다.

    amxmlc -debug DebugExample.as
  3. apk-debug 또는 ipa-debug 대상을 사용하여 응용 프로그램을 패키지화합니다.

    Android 
                                        adt -package -target apk-debug -connect -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf 
    
                                        iOS 
                                        adt -package -target ipa-debug -connect -storetype pkcs12 -keystore ../../AppleDeveloperCert.p12 -provisioning-profile test.mobileprovision DebugExample.apk DebugExample-app.xml DebugExample.swf

    디버깅에 항상 같은 호스트 이름 또는 IP 주소를 사용하는 경우에는 -connect 플래그 뒤에 해당 값을 넣을 수 있습니다. 그러면 응용 프로그램이 해당 IP 주소 또는 호스트 이름에 자동으로 연결하려고 시도합니다. 그렇지 않으면 디버깅을 시작할 때마다 장치에 대한 정보를 입력해야 합니다.

  4. 응용 프로그램을 설치합니다.

    Android에서는 ADT -installApp 명령을 사용할 수 있습니다.

    adt -installApp -platform android -package DebugExample.apk

    iOS에서는 ADT -installApp 명령 또는 iTunes를 사용하여 응용 프로그램을 설치할 수 있습니다.

  5. 두 번째 터미널 또는 명령 윈도우에서 FDB를 실행합니다.

    fdb
  6. FDB 윈도우에서 run 명령을 입력합니다.

    Adobe fdb (Flash Player Debugger) [build 14159] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run 
                                        Waiting for Player to connect
  7. 장치에서 응용 프로그램을 실행합니다.

  8. 장치 또는 에뮬레이터에서 응용 프로그램이 실행되면 Adobe AIR 연결 대화 상자가 열립니다. 응용 프로그램을 패키지화할 때 -connect 옵션을 사용하여 호스트 이름 또는 IP 주소를 지정한 경우에는 해당 주소를 사용하여 자동으로 연결하려고 시도합니다. 적절한 주소를 입력하고 [확인]을 누릅니다.

    이 모드에서 디버거에 연결하려면 장치가 주소 또는 호스트 이름을 확인하고 TCP 포트 7935에 연결할 수 있어야 합니다. 이를 위해 네트워크 연결이 필요합니다.

  9. 원격 런타임이 디버거에 연결할 때는 FDB break 명령을 사용하여 중단점을 설정한 후에 continue 명령을 사용하여 실행을 시작할 수 있습니다.

    (fdb) run 
                                        Waiting for Player to connect 
                                        Player connected; session starting. 
                                        Set breakpoints and then type 'continue' to resume the session. 
                                        [SWF] Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes after decompression 
                                        (fdb) break clickHandler 
                                        Breakpoint 1 at 0x5993: file DebugExample.as, line 14 
                                        (fdb) continue