최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

어제 새벽까지 작업을 하다가 디버깅에 관련하여 깨달은 것을 잊지 않기 위해 기록으로 남겨둔다.


첫번째.


for( ; ; ){

    for( ; ; ){

~~~~

로직

~~~~

~~~~

'의심 되는 핵심 내용 ' <----

~~~~

~~~~

로직

~~~~

    }

}


이 부분 에서는 계속 의심되는 내용을 뜯어 봐가면서 이리저리 클래스 하나하나 trace찍어 가면서 체크하는게 대부분인데...


'가장 먼저 for문이 제대로 반복하는지'의 여부가 첫번째..


어제 as3.0의 stage.stageWidth를 참조하여 Grid를 나누어 for문을 돌리는데 이게 _stage.width 로 되어있어서...


스테이지에 있던 그림을 치우니까 _stage.width 은 0이 되어 아무것도 동작을 하지 않는 상황이 왔다...


전혀 엉뚱한 곳에서 역순으로 타고 올라가다가 _stage.width로 되어있는것을 발견했다. 


더군다나 메서드도 얼핏보면 헷갈리게 되어있어서 하마터면 못찾을 뻔 했다.3시간 가까이 헤멨다..


두번째.


역시 as3.0에서 


객체의 scaleX와 scaleY를 1로 초기화 해주었더라도 rotation의 각도에 따라서 대각선 방향으로 비대칭이 일어날 수 있다.


먼저 0도로 초기화 하여 객체를 제대로된 Rectangle로 유지 시켜준 뒤에 scale을 적용 해야 한다..


세번째.


개발 프로그램을 너무 믿지 말자. 


이클립스나 빌더에서 src폴더에 작업중인 asset 들(mp3, img, flv, xml, etc...)이 


반드시 bin 폴더에 move및 refresh 되는것이 아니다.. 


mp3 효과음을 load하는데 src에 넣었다가 IOError가 계속 반환되어... 아예 효과음들이 누락되었으면 바로 알았겠지만 


bin폴더에 그것도 효과음 3개중에 한개만 누락되어 있어서 더욱 짜증나는 상황을 유발했다..


이게 스트리밍 오류인지 파일이 깨진건지 별의별 의심을 해가면서..



정리 하자면 코드의 디버깅을 체크 하기 이전에 기초 데이터나 저변을 먼저 체크하는것도 매우 중요하다.










댓글