상세 컨텐츠

본문 제목

[Java] 디버깅 스킬을 늘리자!

개발

by GoblinMode 2024. 1. 4. 14:39

본문

728x90
반응형

개발을 하면서 연차가 쌓일수록 제일 중요한 스킬중 하나는 디버깅이라고 생각한다.

 

버그 원인파악, 수정시간을 제일 단축시켜준다. 

 

이유는 눈으로 보지 않고 상상코딩으로만으로는 버그 원인을 찾는데 생각보다 많은 시간이 걸린다.

 

아래 소스로 한번 봐보자.

private void main(){
	HashMap<String, Object> map = new HashMap<String, Object>();    
    map = getMapData();    
    // 에러나는 nullPointException 발생
    String temp = map.get("key").toString();   
}

private HashMap<String, Object> getMapData(){	
    HashMap<String, Object> map = new HashMap<String, Object>();
	//중략
    Object obj = getObjectData();
	map.put("key", obj);
	return map;
}

priavte Object getObjectData(){
	Object obj = new Object();
	// 중략
    return obj;
}

 

이런 소스를 실행시키면 콘솔창에 몇라인에 에러가 나온지 보여진다.

 

만약 에러는 위에 주석아래 부분에서 nullPointException 발생하였다. 

 

여기서 무엇이 Null 이였을가요? map? 아니면 key에 담겨있던 Object Data? 둘중 어떤게 Null 이였을가요?

 

이 질문에 상상하고 있으시다면, 해당 문제를 해결하는데 시간이 많이 걸리게 됩니다.

 

어디 소스에서 어디부터 데이터를 잘못가져왔는지 판단하려면 디버깅을 이유해서 하나하나 찾아가봐야 합니다.

 

모든개발툴은 디버깅모드가 존재하며, 개발자에 편의를 위해 재공해주고 있습니다.

 

디버깅 방법은 구글링만 해도 많이 검색되고, 쉽게 익힐수있습니다. 하지만 처음해보고 익숙지 않다고 안하면, 

 

계속 못하게 될것입니다. 개발을 이제 공부하고 시작하는 분들이라면 거부감없이 해당 기능을 활용하여, 

 

어디에서 문제가 발생하는지, 무엇이 문제였는지를 눈으로 보고 버그를 해결하였으면 좋겠습니다.

 

상상코딩으로 로그를 찍어가며 여러번에 빌드, 로그추가, 로그삭제를 하다보면 소스에 양에 따라 시간은 비약적으로 늘어

 

납니다. 하나에 툴에서 디버깅 스킬을 익히시면, 다른툴에서도 금방 사용하실수 있습니다. 디버깅기능은 어느툴이건 거의 

 

비슷하게 구현되어있고, 비슷하여, 여러개를 배우는게 아니라 하나만 잘하게되면 나머지도 다 하게 되니 꼭 디버깅을 

 

한번 보고 시도해보세요. 어렵지 않습니다.

728x90
반응형

관련글 더보기