일요일 오후 낮잠 한숨 자고 일어나서 뭔가 해야 될거 같아서 컴 앞에 앉았다.

sk 와이번즈는 두산과의 3연전은 3연패로 마감하고 1등은 두산에 내어주었다. ㅠㅠ

네이버에서 실시간 보다가 짜증나서 그동한 jezzFlash에서 해결하지 못했던 문제를 해결하기로 마음 먹었다.


jezzFlash 를 개발하면서  발생한 몇가지 문제가 있었다.
첫 번째는, 읽고 쓰기 위해 생성한 쓰레드(Read/ Wirte)가 메인 프로그램이 죽어도 남아서 계속 존재하는 문제가 발생했다.
두 번째는, jezzSerial에서 읽어온 데이터를 jezzSerial을 상속받는 Protocol 에서 처리하기가 여간 곤란하다는 것이다.

첫번째 문제는, 영민이가 확인해 본결과 블럭되는 문제때문에 발생하는거 같다고 해서 소스코드에서 약간 수정을 했다.

먼저 쓰레드를 죽이고난후 시리얼 파일 디스크립터를 닫으니 정상적으로 쓰레가 종료 되었다. dieComThread() 에 구현하였다.

두번째 문제는 jezzSeial에서 데이터 읽어 오는 부분에 대한 메소드를 parcingRxData()를 만들었다.


protocol에서는 parcingRxData()을 재정의해서 사용하면 된다.

예를 들어 아래처럼 사용하면 된다.




<첨부파일>



C언어로 주로 개발하다보니 자바로 프로그래밍하면서도 C언어 같은 디버깅 방법을 찾게 된다.

C로 개발할때 내가 자주 사용하는 __LINE__  , __FUNCTION__ , __FILE__ 를 이용하여 디버깅용 printf() 함수를 만들어 사용했는데 아주 편하기 그지 없었다. ^^

자바에서도 요런게 없을까  찾아보았다.


  c언어 매크로  자바
 라인 출력  __LINE__  new Throwable().getStackTrace()[0].getLineNumber()
 함수 출력 / 클래스 출력  __FUCTION__  this.getClass().getName()
     


요런 것들이 있으니 사용해 보자!!

아래는 클래스 출력 샘플이다. ^^