2010-04-02 6 views
2

trace ("test"); 내 flashdevelop 프로젝트의 진입 점에서 실행하십시오. 응용 프로그램이 잘 실행되지만 출력에 추적이 표시되지 않습니다. 아래는 내 코드입니다Trace() 메서드가 FlashDevelop에서 작동하지 않습니다.

package 
{ 
    import flash.display.Sprite; 
    import flash.events.Event; 

    /** 
    * ... 
    * @author Anthony Gordon 
    */ 
    public class Main extends Sprite 
    { 

     public function Main():void 
     { 
      if (stage) init(); 
      else addEventListener(Event.ADDED_TO_STAGE, init); 
     } 

     private function init(e:Event = null):void 
     { 
      trace("test"); 
      removeEventListener(Event.ADDED_TO_STAGE, init); 
      // entry point 
      var game:Game = new Game(stage); 
      addChild(game); 
     } 

    } 
} 
+0

나는 이벤트 리스너 (Main' '의 다른에) 추가하지 않을 경우 removeEventListener''에 대한 호출이 실패합니다 확신 해요.또한, (중단 점을 사용하여) init이 처음에 호출되고 있는지 확인하십시오. 그렇지 않으면 문서 클래스가 무대에 추가되지 않는다는 의혹이 있습니다. 그러나 나는 틀릴 수있다! – Cameron

+0

@Cameron : 아니요, 죄송합니다. 그건 틀렸어요. 언어 참조를보십시오. 핸들러가 이미 디스패처에 등록되어 있는지 여부를 확인할 방법이 없다는 것을 알게 될 것입니다. 따라서 이러한 동작은 실제로 큰 결함이됩니다. – back2dos

+0

@ back2dos : 네 말이 맞아! 'hasEventListener'가 있지만 특정 콜백없이 이벤트 유형 만 검사합니다. – Cameron

답변

1

flash player content debugger을 받으십시오. 독립 실행 형 디버그 플레이어와 SWF를 연결하려면 한 번 실행해야합니다.

디버그 플레이어가 다소 느립니다. 팝업 창에서 플래시 앱을 실행하는 경우 '독립 실행 형'플레이어가 필요하거나 웹 브라우저에서 플래시 앱을 테스트하려는 경우 하나 또는 둘 모두의 플러그인이 필요합니다 (하나의 플러그인은 IE 용이고 다른 하나는 플러그인 용입니다. 다른 모든 브라우저의 경우)

7

플래시의 추적을 보려면 로그 탭을보고 추적 시작을 클릭해야합니다. 추적은 출력 탭이 아닌 로그 출력에 나타납니다.

http://www.zedia.net/2010/log-trace-log-release-log/

은 또한 브라우저 :

+0

'로그 탭을보고 시작 추적을 클릭하십시오'훌륭합니다 ... 이것은 나에게 알기 며칠이 걸렸습니다. –

+0

'디버그'도 '해제'모드가 아닌지 확인하십시오 (툴바의 드롭 다운) – user1444886

+0

답변을 찾을 때까지 2 년이 지났습니다. – Panzercrisis

1

나는이 문제를 가지고 내에서 실행되는 플래시 애플리케이션에서 추적을보고, 좋은 답을 찾을 수 없습니다 수 있습니다. 이것은 검색 결과의 최고 결과이므로 일부 정보는 여기서 삭제하겠습니다.

필자는 FlashDevelop 4.0.4를 작동하도록 설정했고, 올바른 Flex SDK가 있었으며 디버거를 가지고있었습니다. 모든 설정을 확인하고, 제거하고, 다시 설치하고, 재부팅하고, 당신이 상상할 수있는 모든 것들을 확인합니다.

내 응용 프로그램의 진입 점 클래스가 실제로 Main이라는 이름이 아니라는 것을 발견했습니다. 이것은 문서 클래스가 Main이라는 이름이 아니라면 추적을 인쇄하지 않으므로 내 추적이 실패한 것처럼 보였습니다.

6

이 문제가 발생하여 디버그 대신 릴리스 모드에서 프로젝트를 테스트하고있는 것으로 나타났습니다. 디버그 모드가 아니면 추적을 인쇄하지 않습니다. 프로젝트 테스트 버튼 오른쪽에있는 드롭 다운 메뉴입니다.

0

최근에이 문제가 있었지만 여기에 같은 문제가있는 사람을 도울 수 있기를 바랍니다. Flex SDK를 사용 중이며 Windows에 있다고 가정합니다.

다른 사람들이 말했듯이 디버그 모드로 테스트하고 있는지 확인하십시오.

나를 좋아하고 작동하지 않는 경우 swf의 기본 응용 프로그램이 flex의 런타임인지 확인하십시오. flex_sdk_4.6 \ runtimes \ player \ 11.1 \ win \ FlashPlayerDebugger.exe

희망이 있습니다! 1.6 이상 에

0

갱신 자바 실행 시간은 그것은 나

0

이 어느 날 나에게 무슨 일 근무 - 완전히 갑자기 아무 이유없이. 프로젝트> 속성> 컴파일러 옵션을 사용하여 문제를 해결 한 다음 "추적 함수 생략"옵션을 "true"에서 "false"로 설정할 수있었습니다.

스크린 샷 :

Click for a picture

관련 문제