USB를 통해 FDB를 사용하여 원격 디버깅
AIR 2.6(Android) AIR 3.3(iOS)
USB 연결을 통해 응용 프로그램을 디버깅하려면
-listen
옵션(
-connect
옵션 아님)을 사용하여 응용 프로그램을 패키지화합니다.
-listen
옵션을 지정하면 응용 프로그램을 시작할 때 런타임이 TCP 포트 7936에서 Flash Debugger(FDB)로부터 연결을 수신 대기합니다. 그 후
-p
옵션을 사용하여 FDB를 실행하면 FDB가 연결을 시작합니다.
Android의 USB 디버깅 절차
데스크톱 컴퓨터에서 실행되는 Flash Debugger가 장치 또는 에뮬레이터에서 실행되는 AIR 런타임에 연결할 수 있도록 하려면 Android Debug Bridge(ADB - Android SDK의 유틸리티) 또는 iOS Debug Bridge(IDB - AIR SDK의 유틸리티)를 사용하여 장치 포트를 데스크톱 포트로 전달해야 합니다.
-
터미널 또는 명령 프롬프트 윈도우를 열고 응용 프로그램의 소스 코드가 들어 있는 디렉토리로 이동합니다.
-
amxmlc로 응용 프로그램을 컴파일하여 디버깅이 사용되도록 합니다.
amxmlc -debug DebugExample.as
-
적절한 디버그 대상(예:
apk-debug
)을 사용하여 응용 프로그램을 패키지화하고
-listen
옵션을 지정합니다.
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
-
USB 케이블을 사용하여 장치를 디버그 컴퓨터에 연결합니다. 이 절차를 사용하여 에뮬레이터에서 실행 중인 응용 프로그램을 디버깅할 수도 있습니다. 이 경우에는 USB 연결이 필요하지 않거나 불가능합니다.
-
응용 프로그램을 설치합니다.
ADT
-installApp
명령을 사용할 수 있습니다.
adt -installApp -platform android -package DebugExample.apk
-
Android ADB 유틸리티를 사용하여 장치 또는 에뮬레이터에서 데스크톱 컴퓨터로 TCP 포트 7936을 전달합니다.
adb forward tcp:7936 tcp:7936
-
장치에서 응용 프로그램을 실행합니다.
-
터미널 또는 명령 윈도우에서 -p 옵션을 사용하여 FDB를 실행합니다.
fdb -p 7936
-
FDB 윈도우에서
run
명령을 입력합니다.
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
FDB 유틸리티가 응용 프로그램에 연결하려고 시도합니다.
-
원격 연결이 설정되면 FDB
break
명령을 사용하여 중단점을 설정한 후에
continue
명령을 사용하여 실행을 시작할 수 있습니다.
(fdb) run
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
참고:
포트 번호 7936은 AIR 런타임과 FDB 모두에서 USB 디버깅의 기본값으로 사용됩니다. ADT -listen 포트 매개 변수 및 FDB -p 포트 매개 변수를 통해 사용할 다른 포트를 지정할 수 있습니다. 이 경우에는 Android Debug Bridge 유틸리티를 사용하여 ADT에 지정된 포트 번호를 FDB에 지정된 포트로 전달해야 합니다(
adb forward tcp:adt_listen_port# tcp:fdb_port#
).
iOS의 USB 디버깅 절차
데스크톱 컴퓨터에서 실행되는 Flash Debugger가 장치 또는 에뮬레이터에서 실행되는 AIR 런타임에 연결할 수 있도록 하려면 iOS Debug Bridge(IDB - AIR SDK의 유틸리티)를 사용하여 장치 포트를 데스크톱 포트로 전달해야 합니다.
-
터미널 또는 명령 프롬프트 윈도우를 열고 응용 프로그램의 소스 코드가 들어 있는 디렉토리로 이동합니다.
-
amxmlc로 응용 프로그램을 컴파일하여 디버깅이 사용되도록 합니다.
amxmlc -debug DebugExample.as
-
적절한 디버그 대상(예:
ipa-debug
또는
ipa-debug-interpreter
)을 사용하여 응용 프로그램을 패키지화하고
-listen
옵션을 지정합니다.
adt -package -target ipa-debug-interpreter -listen 16000
xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12
-storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
-
USB 케이블을 사용하여 장치를 디버그 컴퓨터에 연결합니다. 이 절차를 사용하여 에뮬레이터에서 실행 중인 응용 프로그램을 디버깅할 수도 있습니다. 이 경우에는 USB 연결이 필요하지 않거나 불가능합니다.
-
iOS 장치에서 응용 프로그램을 설치하고 시작합니다. AIR 3.4 이상에서는
adt -installApp
을 사용하여 USB를 통해 응용 프로그램을 설치할 수 있습니다.
-
idb -devices
명령을 사용하여 장치 핸들을 파악합니다(IDB는
air_sdk_root
/lib/aot/bin/iOSBin/idb
에 있음).
./idb -devices
List of attached devices
Handle UUID
1 91770d8381d12644df91fbcee1c5bbdacb735500
참고:
(AIR 3.4 이상)
idb -devices
대신
adt -devices
를 사용하여 장치 핸들을 파악할 수 있습니다.
-
IDB 유틸리티와 이전 단계에서 파악한 장치 ID를 사용하여 데스크톱의 포트를
adt -listen
매개 변수(이 경우 16000, 기본값은 7936)에서 지정된 포트로 전달합니다.
idb -forward 7936 16000 1
이 예제에서 7936은 데스크톱 포트이고, 16000은 연결된 장치가 수신 대기하는 포트이며, 1은 연결된 장치의 장치 ID입니다.
-
터미널 또는 명령 윈도우에서 -p 옵션을 사용하여 FDB를 실행합니다.
fdb -p 7936
-
FDB 윈도우에서
run
명령을 입력합니다.
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
FDB 유틸리티가 응용 프로그램에 연결하려고 시도합니다.
-
원격 연결이 설정되면 FDB
break
명령을 사용하여 중단점을 설정한 후에
continue
명령을 사용하여 실행을 시작할 수 있습니다.
참고:
포트 번호 7936은 AIR 런타임과 FDB 모두에서 USB 디버깅의 기본값으로 사용됩니다. IDB -listen 포트 매개 변수 및 FDB -p 포트 매개 변수를 통해 사용할 다른 포트를 지정할 수 있습니다.
|
|
|