망할놈의 메모리 오류 그리고 디버깅
IBM dW review2008. 4. 23. 18:43
![](https://t1.daumcdn.net/tistoryfile/fs4/12_34_22_10_blog49359_attach_0_0.jpg?original)
메모리 오류 때문에 고생한 적이 한 두번이 아니다. Syntax 오류가 아니라서 더더욱 잡아내기 힘들고, 특수한 상황 설정을 해 놓고 체크하지 않는 한 발견해 내기도 힘들다. 또, 시스템에 따라 발생하는 시기 또한 달라질 수 있어 여간 짜증나는 오류가 아닐 수 없다. 릴리즈 단계까지 발견되지 않는 경우도 있고, 심지어 모 회사 입사시험에도 나왔었다. 메모리 누수가 일어나는 것을 효과적으로 잡아 낼 방법은? 하고 말이다.
메모리 오류의 유형은 1.메모리 누수, 2.할당 오류, 3.dangling 포인터, 4.배열 경계 위반 등이 있는데, 이는 객체지향 언어에서도 크게 다르지 않다.
Article에서는 오류 각각의 케이스 별 예제코드와 그 대처법에 대해서 다루고 있다. 여기서 설명하고 있는 것들로 메모리 오류를 모두 방지할 수는 없다. 하지만, 메모리 오류의 각 케이스를 알고, 그에 대한 일반적인 대처방안, 메모리 도구 등 메모리 프로그래밍의 전략을 익히는 데는 꽤 괜찮은 기사가 아닐까 싶다.
기사 내용에도 언급이 되어 있지만, 대부분의 프로그램 오류는 잘못된 코딩 습관에서 비롯된다(그것은 협업에서도 마찬가지이다). 리뷰라고 할 것 까지도 없지만, 나는 주로 학생 개발자들의 수준에 맞추어 Article을 선택한다. 습관이라는 것은 그게 무엇이든 한 번 굳어지면 고치기 힘들다. 현업에서 개발을 꿈꾸는 많은 학생 개발자들이 올바른 코딩 습관을 기르는 데 조금이나마 도움이 되었으면 좋겠다.
메모리 디버깅 기법(바로가기)
'IBM dW review' 카테고리의 다른 글
시스템 관리 툴킷: UNIX 프로세스 관리 기법 (0) | 2008.05.25 |
---|---|
메모리 프로그래밍을 개선하자 (0) | 2008.04.30 |
실패하지 않는 C코드 (0) | 2008.04.15 |
[Review] RSS의 새로운 한계에 도전하기 (0) | 2008.03.31 |
[Review] 애플리케이션 개발시 Ajax를 사용해야 할 부분과 시점 (0) | 2008.03.21 |