컴퓨터공학/소프트웨어

[소프트웨어] 자주 발생하는 오류

Harvie 2023. 6. 18. 08:00
반응형

소프트웨어를 개발하면서 자주 발생하는 오류를 알아보겠습니다.

자주 발생하는 오류들

  • 메모리 누수 : 메모리가 Free되지 않고 프로그램에 계속 할당되는 문제
  • 중복된 프리 선언 : 이미 Free로 소멸된 자원들 또 다시 Free로 선언하는 경우
  • NULL의 사용 : NULL을 포인트하고 있는 곳의 콘텐츠를 접근하려 하면 오류
  • 별칭의 남용 : 서로 다른 주소 값을 예상하고 사용한 두 변수가 별명(Alias)으로 선언된 경우
  • 배열 인덱스 오류 : 인덱스 한도를 벗어난 배열
  • 수식 예외 오류 : 0으로 나누는 오류. 변동 소수점 예외 오류
  • 하나 차이에 의한 오류 : 0으로 시작할 것을 1로 시작
  • 사용자 정의 자료형 오류 : 사용자 정의 자료형에서 언더플로 또는 오버플로 발생 경우
  • 스트링 처리 오류 : strcpy등 스트링 함수에서 매개 변수가 NULL이거나 끝이 '\0'이 아닐 경우
  • 버퍼 오류 : 버퍼 오류 시 리턴 주소가 반환되는 것을 이용하여 해킹에 이용
  • 동기화 오류 : 다수의 스레드가 있는 병렬 프로그램에서의 오류

       동기화 오류 종류

          - 데드락 : 다수의 스레드가 서로 자원을 점유하고 릴리스 하지 않음

          - 레이스 컨디션 : 두 개의 스레드가 같은 자원을 접근하려 하여 수행 결과가 스레드들의 실행 순서에 따라 다르게 되는 경우

          - 모순이 있는 동기화 : 공유하는 변수를 접근 할 때 로킹과 언로킹을 번갈아할 때 일어나는 오류

 

이런 오류들이 대표적인 오류라고 하네요!

 

어떤 소프트웨어를 개발하냐에 따라 포함되지 않는 오류도 있고, 추가적인 오류들도 있습니다.

 

하지만 이런 오류들을 항상 주의하고 예외처리를 하며 개발을 해야합니다.

반응형