기호 옵션
기호를 로드하고 사용하는 방법을 제어하는 다양한 옵션을 사용할 수 있습니다. 이러한 옵션은 다양한 방법으로 설정할 수 있습니다.
다음 표에서는 이러한 기호 옵션을 나열합니다.
플래그 | 옵션 이름 | 디버거의 기본값 | DBH의 기본값 |
---|---|---|---|
0x1 |
설정 |
설정 |
|
0x2 |
설정 |
설정 |
|
0x4 |
설정 |
꺼짐 |
|
0x8 |
끄기 |
끄기 |
|
0x10 |
KD 및 CDB에서 꺼져 있습니다. WinDbg에서 켜기 |
켜기 |
|
0x20 |
설정 |
꺼짐 |
|
0x40 |
끄기 |
끄기 |
|
0x80 |
끄기 |
끄기 |
|
0x100 |
끄기 |
끄기 |
|
0x200 |
설정 |
꺼짐 |
|
0x400 |
꺼짐 |
설정 |
|
0x800 |
꺼짐 |
설정 |
|
0x1000 |
끄기 |
끄기 |
|
0x2000 |
SYMOPT_INCLUDE_32BIT_MODULES |
끄기 |
끄기 |
0x4000 |
끄기 |
끄기 |
|
0x8000 |
끄기 |
끄기 |
|
0x10000 |
설정 |
설정 |
|
0x20000 |
설정 |
꺼짐 |
|
0x40000 |
끄기 |
끄기 |
|
0x80000 |
KD 및 CDB에서 켜기 WinDbg에서 꺼져 있습니다. |
끄기 |
|
0x80000000 |
끄기 |
끄기 |
기호 옵션 설정 변경
.symopt(기호 옵션 설정) 명령을 사용하여 기호 옵션 설정을 변경하거나 표시할 수 있습니다. 또한 이러한 설정을 변경하는 데 많은 명령줄 매개 변수와 명령을 사용할 수 있습니다. 이러한 항목은 개별 SYMOPT_XXX 섹션에 나열됩니다.
-sflags명령줄 옵션을 사용하여 모든 설정을 한 번에 제어할 수도 있습니다. 이 옵션은 10진수 또는 접두사 0배인 16진수로 뒤에 올 수 있습니다. 기호 플래그가 올바르게 정렬되므로 16진수 를 사용하는 것이 좋습니다. 이 메서드는 전체 비트 필드를 설정하고 모든 기호 처리기 기본값을 재정의하므로 이 메서드를 사용하는 데 주의해야 합니다. 예를 들어 -sflags 0x401 SYMOPT_EXACT_SYMBOLS 및 SYMOPT_CASE_INSENSITIVE 켜질 뿐만 아니라 기본적으로 켜지는 다른 모든 옵션도 꺼집니다.
총 플래그 비트의 기본값은 WinDbg에서 0x30237, CDB 및 KD에서 0xB0227, 이러한 프로그램이 기호 관련 명령줄 옵션 없이 시작될 때 DBH 도구에서 0x10C13.
SYMOPT_CASE_INSENSITIVE
이 기호 옵션을 사용하면 기호 이름에 대한 모든 검색이 대/소문자를 구분하지 않습니다.
이 옵션은 모든 디버거에서 기본적으로 설정됩니다. 디버거가 실행되면 각각 .symopt+0x1 또는 .symopt-0x1 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 기본적으로 DBH에서 설정됩니다. DBH가 실행되면 각각 symopt +1 또는 symopt -1을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_UNDNAME
이 기호 옵션을 사용하면 공용 기호 이름이 표시될 때 구분되지 않으며 기호 이름을 검색하여 기호 장식을 무시합니다. 이 옵션이 활성 상태인지 여부에 관계없이 프라이빗 기호 이름은 데코레이트되지 않습니다. 기호 이름 장식에 대한 자세한 내용은 공용 및 개인 기호를 참조하세요.
이 옵션은 모든 디버거에서 기본적으로 설정됩니다. 디버거가 실행되면 각각 .symopt+0x2 또는 .symopt-0x2 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 기본적으로 DBH에서 설정됩니다. -d 명령줄 옵션을 사용하는 경우 해제됩니다. DBH가 실행되면 각각 symopt +2 또는 symopt -2를 사용하여 켜거나 끌 수 있습니다.
SYMOPT_DEFERRED_LOADS
이 기호 옵션을 지연 기호 로드 또는 지연 기호 로드라고 합니다. 활성 상태이면 대상 모듈이 로드될 때 기호가 실제로 로드되지 않습니다. 대신 필요에 따라 디버거에서 기호를 로드합니다. 자세한 내용은 지연 기호 로드를 참조하세요.
이 옵션은 모든 디버거에서 기본적으로 설정됩니다. CDB 및 KD에서 -s 명령줄 옵션은 이 옵션을 해제합니다. tools.ini 파일에서 LazyLoad 변수를 사용하여 CDB에서 해제할 수도 있습니다. 디버거가 실행되면 각각 .symopt+0x4 또는 .symopt-0x4 사용하여 이 옵션을 켜거나 끌 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 symopt +4 또는 symopt -4를 각각 사용하여 켜거나 끌 수 있습니다.
SYMOPT_NO_CPP
이 기호 옵션은 C++ 변환을 해제합니다. 이 기호 옵션을 설정하면 :: 이 모든 기호에서 __ 로 바뀝니다.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. -snc 명령줄 옵션을 사용하여 활성화할 수 있습니다. 디버거가 실행되면 각각 .symopt+0x8 또는 .symopt-0x8 사용하여 설정하거나 해제할 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 각각 symopt +8 또는 symopt -8을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_LOAD_LINES
이 기호 옵션을 사용하면 원본 파일에서 줄 번호 정보를 읽을 수 있습니다. 원본 디버깅이 올바르게 작동하려면 이 옵션이 설정되어야 합니다.
KD 및 CDB에서 이 옵션은 기본적으로 꺼져 있습니다. WinDbg에서 이 옵션은 기본적으로 설정됩니다. CDB 및 KD에서 -lines 명령줄 옵션은 이 옵션을 켭니다. 디버거가 실행되면 각각 .symopt+0x10 또는 .symopt-0x10 사용하여 디버거를 켜거나 끌 수 있습니다. .lines(원본 줄 지원 설정/해제) 명령을 사용하여 설정/해제할 수도 있습니다.
이 옵션은 기본적으로 DBH에서 설정됩니다. DBH가 실행되면 각각 symopt +10 또는 symopt -10을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_OMAP_FIND_NEAREST
코드가 최적화되고 예상 위치에 기호가 없는 경우 이 옵션을 사용하면 가장 가까운 기호가 대신 사용됩니다.
이 옵션은 모든 디버거에서 기본적으로 설정됩니다. 디버거가 실행되면 각각 .symopt+0x20 또는 .symopt-0x20 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 기본적으로 DBH에서 설정됩니다. DBH가 실행되면 각각 symopt +20 또는 symopt -20을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_LOAD_ANYTHING
이 기호 옵션은 기호 일치를 시도할 때 기호 처리기의 선택성을 줄입니다.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. 디버거가 실행되면 각각 .symopt+0x40 또는 .symopt-0x40 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 각각 symopt +40 또는 symopt -40을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_IGNORE_CVREC
이 기호 옵션을 사용하면 기호를 검색할 때 기호 처리기가 로드된 이미지 헤더의 CV 레코드를 무시합니다.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. -sicv 명령줄 옵션을 사용하여 활성화할 수 있습니다. 디버거가 실행되면 각각 .symopt+0x80 또는 .symopt-0x80 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 각각 symopt +80 또는 symopt -80을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_NO_UNQUALIFIED_LOADS
이 기호 옵션은 기호 처리기의 모듈 자동 로드를 사용하지 않도록 설정합니다. 이 옵션을 설정하고 디버거가 기호와 일치하려고 하면 이미 로드된 모듈만 검색합니다.
이 옵션은 기호 이름을 잘못 입력하지 않도록 방어하는 데 사용할 수 있습니다. 일반적으로 잘못 입력된 기호는 언로드된 모든 기호 파일을 검색하는 동안 디버거가 일시 중지됩니다. 이 옵션이 활성 상태이면 로드된 모듈에서 잘못 입력된 기호를 찾을 수 없으며 검색이 종료됩니다.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. -snul 명령줄 옵션을 사용하여 활성화할 수 있습니다. 디버거가 실행되면 각각 .symopt+0x100 또는 .symopt-0x100 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 symopt +100 또는 symopt -100을 각각 사용하여 켜거나 끌 수 있습니다.
SYMOPT_FAIL_CRITICAL_ERRORS
이 기호 옵션을 사용하면 파일 액세스 오류 대화 상자가 표시되지 않습니다.
이 옵션이 꺼져 있으면 기호를 로드하는 동안 발생한 "드라이브 준비 안 함"과 같은 파일 액세스 오류로 인해 대화 상자가 나타납니다. 이 옵션이 켜진 경우 이러한 상자는 표시되지 않으며 모든 액세스 오류는 "실패" 응답을 받습니다.
이 옵션은 모든 디버거에서 기본적으로 설정됩니다. -sdce 명령줄 옵션을 사용하여 비활성화할 수 있습니다. 디버거가 실행되면 각각 .symopt+0x200 또는 .symopt-0x200 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 각각 symopt +200 또는 symopt -200을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_EXACT_SYMBOLS
이 기호 옵션을 사용하면 디버거가 모든 기호 파일을 엄격하게 평가합니다.
이 옵션이 설정되면 기호 파일과 기호 처리기의 예상 값 간에 약간의 불일치가 있어도 기호가 무시됩니다.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. -ses 명령줄 옵션을 사용하여 활성화할 수 있습니다. 디버거가 실행되면 각각 .symopt+0x400 또는 .symopt-0x400 사용하여 디버거를 켜거나 끌 수 있습니다.
-failinc 명령줄 옵션도 SYMOPT_EXACT_SYMBOLS 켭니다. 또한 사용자 모드 미니덤프 또는 커널 모드 미니덤프를 디버깅하는 경우 -failinc는 디버거가 이미지를 매핑할 수 없는 모듈을 로드하지 못하게 합니다.
이 옵션은 기본적으로 DBH에서 설정됩니다. DBH가 실행되면 각각 symopt +400 또는 symopt -400을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_ALLOW_ABSOLUTE_SYMBOLS
이 기호 옵션을 사용하면 DbgHelp에서 메모리의 절대 주소에 저장된 기호를 읽을 수 있습니다. 이 옵션은 대부분의 경우 필요하지 않습니다.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. 디버거가 실행되면 각각 .symopt+0x800 또는 .symopt-0x800 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 기본적으로 DBH에서 설정됩니다. DBH가 실행되면 각각 symopt +800 또는 symopt -800을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_IGNORE_NT_SYMPATH
이 기호 옵션을 사용하면 디버거가 기호 경로 및 실행 파일 이미지 경로에 대한 환경 변수 설정을 무시합니다.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. -sins 명령줄 옵션을 사용하여 활성화할 수 있습니다. 그러나 디버거가 실행되고 나면 .symopt 로 제어할 수 없습니다. 환경 변수는 시작할 때만 읽기 때문입니다.
이 옵션은 기본적으로 DBH에서 해제되며 모든 경우에 DBH에서 무시됩니다.
SYMOPT_PUBLICS_ONLY
이 기호 옵션을 사용하면 DbgHelp에서 프라이빗 기호 데이터를 무시하고 공용 기호 테이블만 검색하여 기호 정보를 검색합니다. 이러한 형식에 대한 지원이 추가되기 전에 DbgHelp의 동작을 에뮬레이트합니다. 공용 및 프라이빗 기호를 참조하세요.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. 디버거가 실행되면 각각 .symopt+0x4000 또는 .symopt-0x4000 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. -d 명령줄 옵션을 사용하는 경우 켜집니다. DBH가 실행되면 각각 symopt +4000 또는 symopt -4000을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_NO_PUBLICS
이 기호 옵션을 사용하면 DbgHelp에서 공용 기호 테이블을 검색할 수 없습니다. 이렇게 하면 기호 열거형 및 기호 검색 속도가 훨씬 빨라집니다. 검색 속도에만 관심이 있는 경우 SYMOPT_AUTO_PUBLICS 옵션은 일반적으로 이 옵션보다 좋습니다. 공용 기호 테이블에 대한 자세한 내용은 공용 및 프라이빗 기호를 참조하세요.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. 디버거가 실행되면 각각 .symopt+0x8000 또는 .symopt-0x8000 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 각각 symopt +8000 또는 symopt -8000을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_AUTO_PUBLICS
이 기호 옵션을 사용하면 DbgHelp이 .pdb 파일의 공용 기호 테이블을 최후의 수단으로만 검색합니다. 프라이빗 기호 데이터를 검색할 때 일치하는 항목이 있으면 공용 기호가 검색되지 않습니다. 이렇게 하면 기호 검색 속도가 향상됩니다.
이 옵션은 모든 디버거에서 기본적으로 설정됩니다. -sup 명령줄 옵션을 사용하여 비활성화할 수 있습니다. 디버거가 실행되면 각각 .symopt+0x10000 또는 .symopt-0x10000 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 기본적으로 DBH에서 설정됩니다. -d 명령줄 옵션을 사용하는 경우 해제됩니다. DBH가 실행되면 각각 symopt +10000 또는 symopt -10000을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_NO_IMAGE_SEARCH
이 기호 옵션을 사용하면 기호가 로드될 때 DbgHelp에서 이미지 복사본을 검색할 수 없습니다.
이 옵션은 모든 디버거에서 기본적으로 설정됩니다. 디버거가 실행되면 각각 .symopt+0x20000 또는 .symopt-0x20000 사용하여 디버거를 켜거나 끌 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 각각 symopt +20000 또는 symopt -20000을 사용하여 켜거나 끌 수 있습니다.
SYMOPT_SECURE
(커널 모드만 해당) 이 기호 옵션은 보안 모드 가 활성 상태인지 여부를 나타냅니다.
보안 모드는 기본적으로 모든 디버거에서 꺼져 있습니다. -secure 명령줄 옵션을 사용하여 활성화할 수 있습니다. 디버거가 실행 중이고 가 휴면 모드이고 디버깅 서버를 설정하지 않은 경우 .symopt+0x40000 또는 .secure(보안 모드 활성화)를 사용하여 보안 모드를 설정할 수 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 각각 symopt +40000 또는 symopt -40000을 사용하여 켜거나 끌 수 있습니다.
보안 모드는 활성화된 후에는 해제할 수 없습니다.
SYMOPT_NO_PROMPTS
이 기호 옵션은 프록시 서버의 인증 대화 상자를 표시하지 않습니다. 이로 인해 SymSrv가 인터넷의 기호 저장소에 액세스할 수 없게 될 수 있습니다.
자세한 내용은 방화벽 및 프록시 서버를 참조하세요.
KD 및 CDB에서 이 옵션은 기본적으로 설정됩니다. WinDbg에서 이 옵션은 기본적으로 꺼져 있습니다. 디버거가 실행되면 각각 .symopt+0x80000 또는 .symopt-0x80000 다음 .reload(모듈 다시 로드) 명령을 사용하여 켜거나 끌 수 있습니다. !sym 프롬프트 끄기 및 !sym 프롬프트 확장 명령, .reload(모듈 다시 로드) 명령을 사용하여 켜고 끌 수도 있습니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. DBH가 실행되면 각각 symopt +80000 또는 symopt -80000을 사용하여 켜거나 끌 수 있습니다.
-SYMOPT_DEBUG
이 기호 옵션은 노이즈 기호 로드를 켭니다. 그러면 디버거가 기호 검색에 대한 정보를 표시하도록 지시합니다.
각 기호 파일의 이름이 로드될 때 표시됩니다. 디버거가 기호 파일을 로드할 수 없는 경우 오류 메시지가 표시됩니다. .pdb 파일에 대한 오류 메시지가 텍스트로 표시됩니다. .dbg 파일에 대한 오류 메시지는 오류 코드 형식입니다. 이러한 코드는 winerror.h 파일에 설명되어 있습니다.
심볼 헤더 정보를 복구하기 위해 이미지 파일이 로드되는 경우 이 파일도 표시됩니다.
이 옵션은 모든 디버거에서 기본적으로 꺼져 있습니다. -n 명령줄 옵션을 사용하여 활성화할 수 있습니다. 디버거가 실행되면 각각 .symopt+0x80000000 또는 .symopt-0x80000000 사용하여 디버거를 켜거나 끌 수 있습니다. !sym noisy 및 !sym quiet 확장 명령을 사용하여 켜고 끌 수도 있습니다.
참고 이 옵션은 .srcnoisy(Noisy Source Loading) 명령으로 제어되는 노이즈 소스 로드와 혼동해서는 안 됩니다.
이 옵션은 DBH에서 기본적으로 꺼져 있습니다. -n 명령줄 옵션을 사용하여 활성화할 수 있습니다. DBH가 실행되면 각각 symopt +800000000 또는 symopt -800000000을 사용하여 켜거나 끌 수 있습니다. 자세한 정보 표시 및 자세한 정보 표시 끄기 명령을 사용하여 켜고 끌 수도 있습니다.