ATLTRACE2
출력 장치, 같은 디버거 창에 표시 된 플래그와 수준에 따라 경고를 보고 합니다.
ATLTRACE2( exp );
ATLTRACE2(
DWORD category,
UINT level,
LPCSTR lpszFormat,
...
);
매개 변수
exp
[in] 이러한 메시지를 트래핑 하는 모든 응용 프로그램 또는 Visual C++ 출력 창 보낼 문자열입니다.category
[in] 이벤트 또는 메서드는 보고서의 형식입니다.범주 목록에 대 한 설명을 참조 하십시오.level
[in] 수준 추적 보고서입니다.자세한 내용은 설명 부분을 참조 하십시오.lpszFormat
[in] printf-덤프 장치로 보낼 문자열을 만드는 데 사용할 형식 문자열 스타일입니다.
설명
짧은 형식의 ATLTRACE2 출력 창 디버거로 문자열을 씁니다.두 번째 폼의 ATLTRACE2 또한 디버거의 출력 창에 출력을 기록 하지만 ATL/MFC 추적 도구 설정이 적용 됩니다 (참조 ATLTraceTool 샘플).예를 들어, 설정 하면 level 4 및 ATL/MFC 추적 도구 수준 0에 메시지가 표시 됩니다.수준 0, 1, 2, 3 또는 4 될 수 있습니다.기본, 0, 가장 심각한 문제만 보고합니다.
category 매개 변수 설정 하려면 추적 플래그를 나열 합니다.보고서에 원하는 메서드의 형식을 이러한 플래그에 해당 합니다.유효한 추적 플래그 사용에 대 한 다음 표에 나열 된 category 매개 변수입니다.
ATL 추적 플래그
ATL 범주 |
설명 |
---|---|
atlTraceGeneral |
모든 ATL 응용 프로그램에 대 한 보고서입니다.기본값입니다. |
atlTraceCOM |
COM 메서드에 대 한 보고서입니다. |
atlTraceQI |
QueryInterface 호출에 대 한 보고서입니다. |
atlTraceRegistrar |
개체의 등록에 대 한 보고서입니다. |
atlTraceRefcount |
보고서를 참조 횟수를 변경 합니다. |
atlTraceWindowing |
보고서에 windows 메서드; 예를 들어, 잘못 된 메시지 맵 ID를 보고 |
atlTraceControls |
컨트롤에 대 한 보고서입니다. 예를 들어, 컨트롤 또는 창 소멸 될 때를 보고 합니다. |
atlTraceHosting |
메시지를 호스팅하는 보고서; 컨테이너에 있는 클라이언트에서 활성화 될 때 예를 들어, 보고 합니다. |
atlTraceDBClient |
OLE DB 소비자 템플릿에 대 한 보고서입니다. 예를 들어, GetData 실패로 호출 하면 HRESULT 출력을 포함할 수 있습니다. |
atlTraceDBProvider |
OLE DB 공급자 템플릿에 대 한 보고서입니다. 예를 들어, 열의 생성에 실패 하는 경우를 보고 합니다. |
atlTraceSnapin |
MMC 스냅인의 응용 프로그램에 대 한 보고서를 제공 합니다. |
atlTraceNotImpl |
지정 된 함수가 구현 되지 않았음을 보고 합니다. |
atlTraceAllocation |
메모리 디버깅 도구 atldbgmem.h에 의해 인쇄 된 메시지를 보고 합니다. |
MFC 추적 플래그
MFC 범주 |
설명 |
---|---|
traceAppMsg |
일반 용도의 MFC 메시지입니다.항상 권장 합니다. |
traceDumpContext |
메시지에서 CDumpContext. |
traceWinMsg |
MFC의 메시지 처리 코드에서에서 메시지입니다. |
traceMemory |
MFC의 메모리 관리 코드에서 메시지입니다. |
traceCmdRouting |
MFC의 Windows에서 메시지 라우팅 코드를 명령입니다. |
traceHtml |
DHTML 대화 상자 지원 MFC의 메시지입니다. |
traceSocket |
MFC의 소켓 지원에서 메시지입니다. |
traceOle |
MFC의 OLE 지원에서 메시지입니다. |
traceDatabase |
MFC 데이터베이스 지원에서 메시지입니다. |
traceInternet |
MFC의 인터넷에서 메시지를 지원합니다. |
사용자 지정 추적 범주 선언 선언의 전역 인스턴스를 CTraceCategory 클래스는 다음과 같이:
CTraceCategory MY_CATEGORY(_T("MyCategoryName"), 1);
범주 이름, MY_CATEGORY 이 예제에서는 이름을 지정 하는 것은 category 매개 변수입니다.첫 번째 매개 변수는 ATL/MFC 추적 도구에 표시 되는 범주 이름입니다.두 번째 매개 변수는 기본 추적 수준입니다.이 매개 변수는 선택 사항이 며 기본 추적 수준은 0입니다.
사용자 정의 범주를 사용 하는 방법
ATLTRACE2(MY_CATEGORY, 2, _T("a message in a custom category"));
추적 메시지를 필터링 하도록 지정 하려면 이러한 매크로를 정의 하기 전에 Stdafx.h에 삽입 된 #include <atlbase.h> 문.
또는의 전처리기 지시문에 필터를 설정할 수 있는 속성 페이지 대화 상자.클릭은 전처리기 탭 삽입 한 후 전역에 전처리기 정의 편집 상자.
Atlbase.h의 기본 정의가 포함 된 ATLTRACE2 매크로 및 이러한 정의 사용 될 atlbase.h를 처리 하기 전에 이러한 기호를 정의 하지 않는 경우.
릴리스 빌드에서 ATLTRACE2 를 컴파일하고 (void) 0.
ATLTRACE2포맷 한 후 덤프 장치에 1023 보다 많은 문자를 보낼 수 있는 문자열의 내용을 제한 합니다.
ATLTRACE 및 ATLTRACE2 동일한 동작을 ATLTRACE 이전 버전과 호환성을 위해 포함 됩니다.
예제
int i = 1;
ATLTRACE2(atlTraceGeneral, 4, "Integer = %d\n", i);
// Output: 'Integer = 1'
요구 사항
헤더: atltrace.h