진단 서비스

마이크로소프트 파운데이션 클래스 라이브러리는 쉽게 프로그램을 디버깅 하는 여러 진단 서비스를 제공 합니다. 이러한 진단 서비스 매크로 및 추적 프로그램의 메모리 할당을 런타임에 개체의 내용을 덤프 하 고 런타임에 디버깅 메시지를 인쇄할 수 있는 전역 함수를 포함 합니다. 매크로 및 진단 서비스에 대 한 전역 함수는 다음 범주로 그룹화 됩니다.:

이러한 매크로 함수와 MFC의 디버그 및 릴리스 버전에 CObject 에서 파생 된 모든 클래스에 사용할 수 있습니다. 그러나 DEBUG_NEW 및 확인 을 제외한 모든 릴리스 버전에서 아무것도 하지 않고。

디버그 라이브러리에서 모든 할당 된 메모리 블록 "가드 바이트." 시리즈와 사이 이러한 바이트는 잘못 된 메모리 쓰기에 의해 방해, 진단 루틴 문제를 보고할 수 있습니다. 줄을 포함 하는 경우

# define 새 DEBUG_NEW

구현 파일에 모든 호출을 새 파일 이름 및 줄 번호를 메모리 할당 장소를 했다 저장 합니다. CMemoryState::DumpAllObjectsSince 함수는 메모리 누수를 식별할 수 있도록이 여분의 정보를 표시 됩니다. 진단 출력에 대 한 자세한 내용은 CDumpContext 클래스를 또한를 참조 하십시오.

또한, C 런타임 라이브러리는 또한 일련의 진단 기능을 응용 프로그램을 디버깅 하는 데 사용할 수를 지원 합니다. 자세한 내용은 참조 디버깅 루틴 실행-타임 라이브러리 참조。

MFC 일반 진단 매크로

주장 메시지를 인쇄 하 고 지정 된 식이 FALSE 로 라이브러리의 디버그 버전에서 계산 하는 경우 프로그램을 중단。
ASSERT_KINDOF 개체 또는 지정된 된 클래스에서 파생 된 클래스의 지정된 된 클래스의 개체는 테스트。
ASSERT_VALID AssertValid 멤버 함수;를 호출 하 여 개체의 내부 유효성 테스트 CObject 에서 일반적으로 재정의。
DEBUG_NEW 메모리 누수를 찾을 수 있도록 디버그 모드에서 모든 개체 할당에 대 한 파일 이름 및 줄 번호。
추적 제공 하는 printf-같은 라이브러리의 디버그 버전에서 기능。
TRACE0 인수 없이 걸립니다 하지만 추적 유사한 형식 문자열。
TRACE1 단일 인수 걸립니다 하지만 추적 유사한 형식 문자열。
TRACE2 추적 걸립니다 하지만 유사한 두 개의 인수 형식 문자열。
TRACE3 추적 형식 문자열 인수 세 소요와 비슷하지만。
확인 ASSERT 와 유사 하지만 디버그 버전으로 뿐만 아니라 라이브러리의 릴리스 버전에서 식을 계산합니다。

MFC 일반 진단 변수 및 함수

afxDump 디버거 출력 창 또는 디버그 터미널 CDumpContext 정보를 보내는 전역 변수。
afxMemDF 디버깅 메모리 할당자의 동작을 제어 하는 전역 변수。
afxTraceEnabled 사용 하거나 사용 하지 않으려면 TRACE 매크로 출력 전역 변수。
afxTraceFlags MFC의 기본 제공 보고 기능을 설정 하는 데 사용 하는 전역 변수。
AfxCheckError 테스트를 통과 하는 데 사용 하는 전역 변수 적절 한 오류를 throw 하는 SCODE 오류가 경우 및이 경우, 참조를。
AfxCheckMemory 현재 할당 된 메모리의 모든 무결성 확인。
AfxDump 디버거에서 호출 하는 경우 디버깅 하는 동안 개체의 상태를 덤프。
AfxDumpStack 현재 스택의 이미지를 생성 합니다. 이 함수는 항상 정적으로 링크。
AfxEnableMemoryTracking 메모리 추적 켜고 끄기 설정。
AfxIsMemoryBlock 메모리 블록이 제대로 할당 확인。
AfxIsValidAddress 메모리 주소 범위는 프로그램의 범위 내에서 확인。
AfxIsValidString 문자열에 대 한 포인터 올바른지 여부 결정。
AfxSetAllocHook 각 메모리 할당, 함수 호출 수。

MFC 개체 진단 기능

AfxDoForAllClasses 모든 CObject에 대해 지정된 된 함수를 수행-파생 클래스에서 지 원하는 런타임 형식 검사。
AfxDoForAllObjects 모든 CObject에 대해 지정된 된 함수를 수행- 새 할당 된 개체를 파생。

Index