2014-04-12 5 views
1

프로젝트에서 FDT 및 Apache Flex 4.12 SDK를 사용하고 있습니다. SWF에서 JavaScript 호출 (ExternalInterface 사용)과 상호 작용하는 동안 트리거되는 일부 예외를 디버깅해야하므로 탐색기에서 실행되는 동안 디버깅해야합니다.IDE에서 SWF를 디버깅하는 방법은 무엇입니까?

나는 Flash Player의 디버그 버전이 필요하다는 것을 알고 있으며, 이미 설치했다. 디버그 버전에는 "Debugger"라는 메뉴 옵션이 표시됩니다.

ErrorReportingEnable=1 
TraceOutputFileEnable=1 

테스트 된 플래시 플레이어 버전 11.2 (GNU/리눅스)이며, 13 :

나는 이미 같이 mm.cfg 다음과 같은 옵션을 올바른 위치에서 파일 (파일 위치 및 설정 옵션 here 발견) 구성 .x (Windows 8). 고환 웹 브라우저는 Google 크롬, Mozilla Firefox 및 Internet Explorer입니다.

플레이어의 "디버거"옵션이 비활성화되어 있지만 this link은 디버그 기호로 SWF를 컴파일해야한다고 말했습니다. 내가 프로젝트 속성에서 컴파일러 인수를 찾을 수 있습니다, FDT를 사용

-debug=true 
-define=CONFIG::debugging,true 

-> FDT 컴파일러 -> 컴파일러 인수 : 그래서, 나는 다음과 같은 컴파일러 옵션을 추가했습니다.

아쉽게도 디버그 옵션은 계속 사용할 수 없습니다. 내가 뭘 놓치고있어? 오래된 Flash Player 버전에서는 스택 추적이있는 상자가 표시됩니다.

또한 Firefox/Chrome 확장 FlashFirebug (Firefox 버전 here 링크)를 찾았지만 더 이상 무료 버전이 없으며 스택 트레이스를 인쇄해야하므로 지불하고 싶지 않습니다. ExternalInterface를 사용하여 브라우저 콘솔로 출력을 보내면 예상대로 작동하지 않으므로 네이티브 플래시 스택 추적이 필요합니다.

답변

1

FDT의 디버그 옵션은 시작 구성을 시작하는 모드에 의해 제어됩니다. 디버그 또는 실행 모드로 시작할 수 있습니다. 다음 솔루션은 디버그 모드에서 시작 구성을 실행하는 경우에만 작동합니다.

A : :

경우 A 또는 B를 선택 당신이 당신의 bin 폴더에 자신의 HTML 래퍼이 경우 다음과 같은 작업을 수행 할 수 있습니다 당신은 FDT 의 디버그 구성 대화 상자에서 컴파일 사용하여 실행 구성을 열고 (FDT를 사용하여 응용 프로그램을 컴파일한다고 가정합니다.) 시작 탭으로 전환하고 swf를 시작하는 html 래퍼 의 시작 uri를 입력하십시오. 뷰어로 브라우저를 선택하십시오. 예외 표시 팝업이 꺼져 있는지 확인하십시오. 클릭하면 적용됩니다. 디버그를 클릭하십시오. swf가 HTML 래퍼에서 올바르게 시작되면 이제 브라우저가 나타나야하고 FDT 내의 디버그가 응용 프로그램 에 연결되어야합니다.

B

는 : 혹시 외부 HTML 래퍼가 어딘가에 다음을 수행하십시오 당신은 FDT 의 디버그 구성 대화 상자에서 컴파일 사용하여 실행 구성을 열고 (난 당신이 응용 프로그램을 컴파일 할 수 FDT를 사용하는 가정). 시작 탭으로 전환하고 "컴파일 후 URI 열기"를 해제하십시오. 적용을 클릭하십시오. 디버그를 클릭하십시오. 이제 swf가 디버그 모드로 만들어지고 프로젝트의 bin 폴더에 저장됩니다. swf를 html 래퍼가 swf를로드 할 수있는 위치에 복사합니다. swf가 포함 된 html 애플리케이션을 시작하십시오.FDT의 디버거는 백그라운드에서 해당 swf에 대한 연결을 기다리고 있습니다. 시간 초과가 이미 도달 한 경우 디버그 모드에서 시작 구성을 다시 시작한 다음 응용 프로그램을 즉시 시작하십시오. 디버거가 콘솔 출력을 연결하는 경우이를 보여줍니다.

케이스 A 또는 케이스 B 이후 : 이 응용 프로그램에서 예외를 유발합니다. FDT의 디버거가 예외를 발생시키는 코드 줄로 이동해야합니다.

관련 문제