의문점 공부하기/🧾공부하며

🧾 디버깅과 컴파일의 차이와 로깅이란?

아리빠 2023. 7. 7. 10:17

모듈과 패키지 공부에 이어서...

 

디버깅과 컴파일의 차이점:

컴파일:

- 컴파일은 인간이 읽을 수 있는 코드를 컴퓨터가 실행할 수 있는 기계어로 변환하는 과정

- 이 과정에서 문법을 확인하고 타입 체크를 수행하며, 프로그램을 실행하기 위해 필요한 바이트코드 또는 기계어를 생성

- 컴파일러는 코드가 문법 오류가 없고 필요한 종속성을 컴파일하는 역할을 수행

- 인텔리제이에서는 컴파일 과정을 단일 파일, 모듈 또는 전체 프로젝트에 대해 수행할 수 있다


 디버깅:

- 디버깅은 코드에서 오류나 버그를 식별하고 수정하는 과정

- 프로그램의 동작을 분석하고 변수를 검사하며, 코드를 단계별로 실행하여 실행 흐름을 이해하는 것을 포함

- 디버깅은 논리 오류, 잘못된 데이터 값, 예상치 못한 프로그램 흐름과 같은 문제를 찾는 데 도움이 된다

- 인텔리제이에서 디버거를 사용하면 디버거를 연결하여 프로그램을 실행하고 중단점에서 실행을 일시 중지하고 변수를 검사하며 코드를 단계별로 실행할 수 있다

- 디버깅은 프로그램의 내부 동작을 파악하고 버그를 찾아 수정하는 데 도움이 됩니다.


로깅은 프로그래밍에서 중요한 요소로, 코드 실행 중에 이벤트를 추적하고 중요한 정보를 기록하는 것을 일컫는다

인텔리제이에서 로깅을 사용하면?:

로그 메시지 기록: 인텔리제이는 애플리케이션의 실행 중에 발생하는 이벤트를 기록할 수 있다. 이벤트는 정보, 경고, 오류 등 다양한 로그 레벨로 분류될 수 있다. 로그 메시지는 애플리케이션의 상태, 실행 흐름, 예외 상황 등을 기록하는 데 사용된다

 

로그 레벨 설정: 인텔리제이에서는 로그 레벨을 설정하여 어떤 로그 메시지를 기록할지 결정할 수 있다. 일반적으로는 디버그, 정보, 경고, 오류 등 다양한 로그 레벨을 사용하여 필요한 정보를 기록한다. 로그 레벨을 설정함으로써 로그 메시지의 양을 조절하고 필요한 정보를 포함시킬 수 있다.

 

로그 필터링: 인텔리제이에서는 로그 메시지를 필터링하여 특정 조건에 맞는 메시지만 표시할 수 있다. 이를 통해 로그 메시지의 양을 줄이고 필요한 정보에 집중할 수 있다

 

로그 출력 설정: 인텔리제이에서는 로그 메시지를 콘솔, 파일, 데이터베이스 등 다양한 출력 대상에 기록할 수 있다. 이를 통해 로그 메시지를 적절한 위치에 저장하고 분석할 수 있다.