진단 서비스
Mfc 라이브러리 프로그램을 쉽게 디버깅할 수 있도록 다양 한 진단 서비스를 제공 합니다.이러한 진단 서비스 매크로 추적 프로그램의 메모리 할당을 런타임에 개체의 내용을 덤프 및 런타임에 디버깅 메시지를 인쇄 하는 데 사용할 수 있는 전역 함수 등이 있습니다.매크로 및 진단 서비스에 대 한 전역 함수는 다음 범주로 그룹화 됩니다.
일반 진단 매크로
일반 진단 함수 및 변수
개체의 진단 기능
모든 클래스에서 파생에 이러한 매크로 및 함수가 사용할 수 있는 CObject MFC의 디버그 및 릴리스 버전에서.그러나 제외한 모든 DEBUG_NEW 및 확인 릴리스 버전에서 아무 작업도 하지 않습니다.
디버그 라이브러리에 일련의 "보호 바이트"로 모든 할당 된 메모리 블록 대괄호로 묶지 됩니다. 이러한 바이트는 잘못 된 메모리 쓰기에 의해 방해를 받지 않습니다 경우 진단 루틴 문제를 보고 있습니다.줄을 포함 하는 경우:
#define new DEBUG_NEW
구현 파일에 모든 호출에 새 발생 위치 메모리 할당 한 파일 이름과 줄 번호가 저장 됩니다.함수가 CMemoryState::DumpAllObjectsSince 이 메모리 누수를 확인할 수 있는 추가 정보가 표시 됩니다.또한 클래스를 참조 하십시오. CDumpContext 에 대 한 자세한 진단 출력.
또한 C 런타임 라이브러리 응용 프로그램을 디버깅할 수 있습니다 진단 기능을 지 원하는.자세한 내용은 루틴을 디버깅 런타임 라이브러리 참조에서 합니다.
MFC 일반 진단 매크로
메시지를 인쇄 한 다음 지정 된 식을 계산 하는 경우 프로그램을 중단 FALSE 라이브러리의 디버그 버전에서입니다. |
|
테스트 개체는 지정한 클래스의 지정한 클래스에서 파생 된 클래스의 개체입니다. |
|
내부 개체의 유효성 테스트를 호출 하 여 해당 AssertValid 멤버 함수입니다. 일반적으로 재정의 된 CObject. |
|
메모리 누수를 찾는 데 도움이 되는 파일 이름과 줄 번호가 모든 개체 할당에서 디버그 모드를 제공 합니다. |
|
마찬가지로 ASSERT ; 식의 값을 테스트 하지 않지만 디버그 모드로 실행 되어야 하는 코드에 유용 합니다. |
|
제공 printf-기능 라이브러리의 디버그 버전에서 다음과 같이 합니다. |
|
비슷한 ASSERT 하지만 디버그 버전에도 라이브러리의 릴리스 버전에서 식을 계산 합니다. |
MFC 일반 진단 변수와 함수
보내는 전역 변수 CDumpContext 디버거 출력 창 또는 디버그 터미널 정보가 있습니다. |
|
디버깅 메모리 할당자의 동작을 제어 하는 전역 변수입니다. |
|
전달 테스트 하는 데 사용 되는 전역 변수 SCODE 오류가 되 고 경우 적절 한 오류를 throw 하는 경우, 볼 수 있습니다. |
|
현재 할당 된 메모리의 모든 무결성을 검사 합니다. |
|
호출 하는 동안 디버거에서 경우 디버깅 하는 동안 개체의 상태를 덤프 합니다. |
|
현재 스택의 이미지를 생성 합니다.이 함수는 항상 정적으로 링크 됩니다. |
|
메모리 누수 덤프를 수 있습니다. |
|
설정 및 해제를 관리 하는 메모리를 해제 합니다. |
|
메모리 블록 올바르게 할당 되었는지 확인 합니다. |
|
메모리 주소 범위는 프로그램의 범위 내에 있는지 확인 합니다. |
|
문자열에 대 한 포인터를 유효한 지 여부를 결정 합니다. |
|
각 메모리 할당 함수를 호출을 하는 수 있습니다. |
MFC 개체 진단 기능
지정한 함수에서 모든 수행 CObject-런타임 형식 검사를 지 원하는 클래스를 파생 합니다. |
|
지정한 함수에서 모든 수행 CObject-파생 개체에 할당 된 새. |