본문 바로가기
컴퓨터 각종 정보

php 디버깅 설명

by 컴퓨터쟁이 2022. 5. 5.

개발 프로젝트를 진행하면서 자주 간과되는 것 중 하나는 바로 프로그램의 디버깅과 최적화에 소요되는 시간이다.

의미 오류는 문법적으로는 맞기 때문에 파싱은 정상적으로 되지만 실행 중 에 생기는 오류이다. 이 오류는 흔히 함수를 사용할 때 많이 발생하는데, 이는 PHP가 함수 의 인자를 따로 검사하지 않기 때문이다. 예를 들어, 2개의 인자가 필요한 함수에 1개의 인 자가 전달되었으면 파서가 이 오류를 찾을 수 없어 함수를 실행할 때 오류가 생기게 된다. 또 다른 예는 잘못된 연산자를 사용하는 경우이다. PHP는 변수의 사용에 비교적 많은 융 농성을 제공하기 때문에 대부분의 연산자는 거의 모든 변수 형태를 사용할 수 있다. 그 러나 그 결과는 엉뚱하게 나올 수도 있다. 두 개의 문자에 곱하기 연산할 경우 PHP가 이들을 0으로 바꾸기 때문에 결과는 0이 된 다. 이러한 결과는 문자열이 숫자처럼 보이지 않을 때 발생한다. 만일 문자열에 숫자가 있은 다면 문자열에서 이 숫자를 추출해서 연산에 사용한다.

실행 환경 오류(Environmental Errors)는 프로그램 외부의 원인으로 생기며 구문 오류, 의미 오류, 논리 오류 등을 검사해도 발견하지 못하는 경우가 있다. 사실 이 오류는 파일, 네트 워큰, 입력 데이터, 사용자 행위 등과 같이 외부적인 요소에 의해 발생한다. 예를 들어, 개 발용 서버에서 파일을 읽는 스크립트를 만들었는데 실제 서비스를 위한 서버에서는 디스 크 접근 권한이 없어 오류가 생길 수도 있다. 또 다른 예로 특정 언어로 된 입력값을 기다리는 프로그램에 다른 언어로 입력할 경우 문 제가 될 수도 있다. 실행 환경 오류를 막는 유일한 방법은 실제로 실행해보고 코드를 점검 하는 수밖에 없다. 또한 이러한 실행 테스트는 프로그래머가 예상한 것과 다른 결과가 나 올 때를 대비해 구조화된 오류 처리가 필요하다. 문 상의 버린 경 어떤 함수는 PHP가 실행되는 플랫폼 환경에 따라 다른 인자를 사용해야 하는 경우다

실행 환경에서 자체적으로 처리할 수 없는 문제가 있다면 주의가 출력된다. 

예를 들면 초기화되지 않은 변수 등이 있다. 연산에 앞서 이러한 변수에 디폴트 값을 사용하지만 스크립트의 실행이 중단 되지는 않는다. 

오류 출력 레벨을 설정하면 프로그램 디버깅 시에 유용할 수도 있지만 일반 사용자에게는 거의 불필요하다.

 

'컴퓨터 각종 정보' 카테고리의 다른 글

php 기초 설명  (0) 2022.05.06
html 태그 정리  (0) 2022.05.06
php 세션과 쿠키 설명  (0) 2022.05.05
php 정규표현식  (0) 2022.05.05
php와 객체 지향 프로그래밍  (0) 2022.05.05

댓글