Category Archives: 개발툴

개발툴

Eclipse, Debugging : 예외발생지점 찾기

예외발생지점 찾기…

트라이 캐치로 코드를 감싸놓은 경우… 예외발생지점을 정말 찾기 힘들다.

이거 찾으려고 얼마나 고생을 했는지… 코드 구석구석 브레이크 포인트 찍어가지고 돌려보고..

 

이클립스 디버깅 모드에서 간단하게 해결 가능한다.

 

이클립스 Debug Perspective – Breakpoints View – Add Java Exception Breapoint 선택

마음에 드는 예외를 등록해놓으면 예외가 발생하는 순간 그 위치를 잡아준다.

 

Eclipse, BreakPoint Trigger : 단순히 중단점이 아닌 조건부 트리거 설정

브레이크 포인트를 쓰면 그 지점을 실행시키고 있을 때으 값을 발견할 수 있다.

그런데 스프링프레임워크의 특정 빈을 실행하는 경우 이게 첫번째는 콘텍스트 로딩 두번째는 뭐 세번재는 시큐리티인데 세번째 시큐리티에서 오류가 나는 것 같다. 라는상황이 있을 수 잇다.

이 경우 브레이크 포인트를 단순히 찍어놓기만 했다면 이 오류를 보기위해 우리는 브레이크 포인트 2번을 Resume를 눌러줘야 한다. 각종 변수를 변경하면서 실행을 여러번 시켜가며 디버깅을 해야하는데 열번 실행시킨다면 20번의 리쥼을 눌러줘야 한다.

세번째에 떠서 다행이지 10번째 로딩될 때 오류가 발생한다면?

프로그래밍의 기본은 자동화… 이걸 진작에 알았으면 그 때 리쥼 누르느라 시간낭비도 안 했을건데

 

이클립스 브레이크 포인트레 마우스 오른쪽클릭하고 BreakPoint Properties 창을 연다.

설정이 있는데…

HitCount라던가 필요한 기능을 설정할 수 있다.

트리거의 값을 직접 지정하는 것은

value == 1

이런식으로 값을 지정해주면 된다.

 

항상 드는 생각인데… 툴 잘 쓰는것도 실력이다. 메모장으로 잘 짜는게 진짜 실력이니 뭐니 하는 사람들은.. 풒

 

Eclipse, StepFiltering : 디버깅시 관심영역밖의 클래스 필터링

이클립스 디버깅시에 나의 관심영역 밖의 클래스들이 있다

쉽게 말해서 내가 짠 코드가 아닌 라이브러리라더가 jvm의 소스코드들… 적어도 현재 개발과정에서 오류의 원인일 가능성이 낮은 극히 낮다고 봐도 무방한 코드들이다.

이런 코드들을 필터링해서 디버깅시 피로도를 낮추는 방법이 Step filtering 이다.

 

이클립스 설정 (프로젝트 설정이 아닌 맥에선 Eclipse-환경설정,  윈도우에선 Windows-Properties)창을 연다

Java-Debug-StepFilter

이 메뉴에서 적당히 안봐도 될만한것들 선택하면 된다.

Eclipse 여러 버전을 사용할 때 정리하기

방법1

이클립스.org에서 다운로드받은 이클립스의 기본 디렉토리 구조

eclipse-java-kepler-SR2-Java8-win32-x86_64.zip

eclipse / configuration / config.ini
        / ......
        ...
        eclipse.exe
        ...


eclipse.p2.profile=epp.package.java
osgi.instance.area.default=@user.home/workspace

여러 버전을 동시에 사용하는 경우 이렇게 쓰면 불편하니까 디렉토리랑 설정을 바꿔놓으면 그냥 압축만 풀면 쓸 수 있게 된다. 이클립스 꼬이거나 하면 삭제하고 다시 해야되니까 이렇게 해놓으면 새로깔기도 편하고

eclipse-java-kepler-SR2-Java8-win32-x86_64.zip

java / configuration / config.ini
     / ......
     ...
     java.exe
     ...


eclipse.p2.profile=epp.package.java
osgi.instance.area.default=D:/a_workspace/java

 

방법2

배치파일로 할까 했는데 zip이 터미널로 되나 잘 몰라서 생략.

 

여러버전을 동시에 설치할 때 가장 많은 용량을 차지하는 부분은 ${eclipse}/plugins 디렉토리인데 이 부분을 합쳐서 사용하면 용량이 많이 줄어들 것 같은데 이 부분은 분리가 안된다. 차후변경

 

 

Intellij 유용한 단축키 목록

Ctrl Shift I : 클래스 안의 소스 ㅇ출력

Ctrl J : Insert Live Template

Ctrl W : 캐럿이 있는 위치르 ㄹ중심으로 블록 설정

Alt HomeKey : 현재 수정중인 파일의 위치 표시

Ctrl Shift R 리소스 파일 찾기

Ctrl Alt o : 임포트 정리

Ctrl Alt l : 코드포매팅

Mac – TextEditor 쓸만한거..

XCode도 물론 훌륭하긴한데.. 로딩속도도 느리고
언어별 커스터마이징이 약한것같다.

TextWrangler
Emacs
AquaEmacs
뭐 요런것들 써봤었는데…

Emacs게열은 괜찮기는 한데… 파일 여러개 편집하는 기능이 좀 후졌었고
TextWrangler는 편집기가 좀 후졌었고…

오래 써보진 않았는데 색감이 맘에든다

웹브라우저WebBrowsing 터널링Tunneling 사용방법

설정 순서
1. 터널 오픈
2. 브라우저 셋팅

1. 터널 오픈
On Linux or Mac

ssh -N -D <localPort> <user@server-domain.com> -p <remotePort>

 

On Windows – 안해봐서 불확실… 되겠지 뭐

Session :
Hostname : 접속할곳
Port :
Connection – SSH – Tunnels :
Source port : 로컬에 열어놓을 터널포트
Destination : 원격지 ssh 포트
Dynamic radiobox 선택

2. 파이어폭스 설정
다른 브라우저는 생략.. 비슷하겠지 안될수도있고

Preferences – Advanced tab – Network – Settings button – Manual proxy configuration radio button – SOCKS Host : localhost, Port : , SOCKS v5 radio button

Network 감시 프로그램

소프트웨어를 직접 해킹하는것보다 네트워크의 패킷을 해킹하는게 더 쉬워보여서

찾아봤다.

SmartSniff

http://www.nirsoft.net/utils/smsniff.html

http://blog.nirsoft.net/2010/11/08/how-to-capture-data-and-passwords-of-unsecured-wireless-networks-with-sniffpass-and-smartsniff/

Microsoft Network Monitor

http://www.microsoft.com/en-us/download/details.aspx?id=4865

Fiddler2 http프로토콜 감시

http://www.fiddler2.com/fiddler2/

TCPviewer

http://technet.microsoft.com/ko-kr/sysinternals/bb897437.aspx

tcpview