SymSetOptions 함수(dbghelp.h)

옵션 마스크를 설정합니다.

구문

DWORD IMAGEAPI SymSetOptions(
  [in] DWORD SymOptions
);

매개 변수

[in] SymOptions

기호 옵션입니다. 0은 유효한 값이며 모든 옵션이 꺼져 있음을 나타냅니다. 옵션 값은 OR 연산자를 사용하여 결합되어 유효한 옵션 값을 형성합니다. 다음은 유효한 값입니다.

의미
SYMOPT_ALLOW_ABSOLUTE_SYMBOLS
0x00000800
절대 주소로 저장된 기호를 사용할 수 있습니다. 대부분의 기호는 모듈의 기본에서 RVA로 저장됩니다. DbgHelp는 절대 주소로 변환합니다. 절대 주소로 저장되는 기호가 있습니다. 이러한 용도는 매우 전문화되어 있으며 일반적으로 사용되지 않습니다.

DbgHelp 5.1 이하: 이 값은 지원되지 않습니다.

SYMOPT_ALLOW_ZERO_ADDRESS
0x01000000
주소가 없는 기호를 사용할 수 있습니다. 기본적으로 DbgHelp는 주소가 없는 기호를 필터링합니다.
SYMOPT_AUTO_PUBLICS
0x00010000
주소별로 기호를 검색하거나 기호를 열거할 때 전역 기호 또는 현재 scope 없는 경우 공용 기호를 검색하지 마세요. 이 옵션은 SYMOPT_PUBLICS_ONLY 영향을 주지 않습니다.

DbgHelp 5.1 이하: 이 값은 지원되지 않습니다.

SYMOPT_CASE_INSENSITIVE
0x00000001
모든 기호 검색은 대/소문자를 구분하지 않습니다.
SYMOPT_DEBUG
0x80000000
OutputDebugString 또는 SymRegisterCallbackProc64 콜백 함수를 통해 디버그 출력을 전달합니다.
SYMOPT_DEFERRED_LOADS
0x00000004
기호를 로드해야 하는 참조가 만들어질 때까지 기호가 로드되지 않습니다. 기호 처리기를 사용하는 가장 빠르고 효율적인 방법입니다.
SYMOPT_DISABLE_SYMSRV_AUTODETECT
0x02000000
"SRV*" 지정 없이도 기호 경로에 있는 기호 서버 저장소의 자동 검색을 사용하지 않도록 설정하여 이전 동작과의 호환성을 유지합니다.

DbgHelp 6.6 이하: 이 값은 지원되지 않습니다.

SYMOPT_EXACT_SYMBOLS
0x00000400
일치하지 않는 .pdb 파일을 로드하지 마세요. 다른 모든 항목이 실패하는 경우 내보내기 기호를 로드하지 마세요.
SYMOPT_FAIL_CRITICAL_ERRORS
0x00000200
드라이브에 미디어가 없는 등의 미디어 오류가 있는 경우 시스템 대화 상자를 표시하지 마세요. 대신 오류가 자동으로 발생합니다.
SYMOPT_FAVOR_COMPRESSED
0x00800000
압축되지 않은 파일과 압축된 파일을 모두 사용할 수 있는 경우 압축된 파일을 선호합니다. 이 옵션은 느린 연결에 적합합니다.
SYMOPT_FLAT_DIRECTORY
0x00400000
기호는 기본 다운스트림 저장소의 루트 디렉터리에 저장됩니다.

DbgHelp 6.1 이하: 이 값은 지원되지 않습니다.

SYMOPT_IGNORE_CVREC
0x00000080
.pdb 파일을 로드할 때 이미지 헤더의 CodeView 레코드에서 경로 정보를 무시합니다.
SYMOPT_IGNORE_IMAGEDIR
0x00200000
이미지 디렉터리를 무시합니다.

DbgHelp 6.1 이하: 이 값은 지원되지 않습니다.

SYMOPT_IGNORE_NT_SYMPATH
0x00001000
사용자가 유효한 경로 없이 SymSetSearchPath를 호출하는 경우 _NT_SYMBOL_PATH 지정된 경로를 사용하지 마세요.

DbgHelp 5.1: 이 값은 지원되지 않습니다.

SYMOPT_INCLUDE_32BIT_MODULES
0x00002000
64비트 Windows에서 디버깅하는 경우 32비트 모듈을 포함합니다.
SYMOPT_LOAD_ANYTHING
0x00000040
검사를 사용하지 않도록 설정하여 파일(.exe, .dbg. 또는 .pdb)이 올바른 파일인지 확인합니다. 대신 첫 번째 파일을 로드합니다.
SYMOPT_LOAD_LINES
0x00000010
줄 번호 정보를 로드합니다.
SYMOPT_NO_CPP
0x00000008
기호 구분 기호 "::"를 포함하는 모든 C++ 데코레이트 기호는 "__"로 바뀝니다. 이 옵션은 실제 C++ 기호 이름 구문 분석을 처리할 수 없는 디버거에 대해 존재합니다.
SYMOPT_NO_IMAGE_SEARCH
0x00020000
모듈 헤더를 읽을 수 없는 경우 모듈에 대한 기호를 로드할 때 이미지에서 기호 경로를 검색하지 마세요.

DbgHelp 5.1: 이 값은 지원되지 않습니다.

SYMOPT_NO_PROMPTS
0x00080000
기호 서버에서 유효성 검사를 묻는 메시지를 표시하지 않습니다.
SYMOPT_NO_PUBLICS
0x00008000
publics 테이블에서 기호를 검색하지 마세요. 전역 테이블에 공용 기호의 복사본이 있기 때문에 이 옵션은 거의 영향을 미치지 않습니다.

DbgHelp 5.1: 이 값은 지원되지 않습니다.

SYMOPT_NO_UNQUALIFIED_LOADS
0x00000100
호출자가 여러 모듈에서 기호를 검사할 때 기호가 로드되지 않도록 합니다. 기호가 이미 로드된 모듈만 검사합니다.
SYMOPT_OVERWRITE
0x00100000
기호 저장소에서 하위 저장소를 덮어씁니다.

DbgHelp 6.1 이하: 이 값은 지원되지 않습니다.

SYMOPT_PUBLICS_ONLY
0x00004000
프라이빗 기호를 사용하지 마세요. 이전 Windows 릴리스와 함께 제공된 DbgHelp 버전은 공용 기호만 지원합니다. 이 옵션은 이 제한 사항과의 호환성을 제공합니다.

DbgHelp 5.1: 이 값은 지원되지 않습니다.

SYMOPT_SECURE
0x00040000
DbgHelp는 SymSrv 이외의 기호 서버를 로드하지 않습니다. SymSrv는 _NT_SYMBOL_PATH 지정된 다운스트림 저장소를 사용하지 않습니다. 이 플래그를 설정한 후에는 지울 수 없습니다.

DbgHelp 6.0 및 6.1: 이 플래그는 지울 수 있습니다.

DbgHelp 5.1: 이 값은 지원되지 않습니다.

SYMOPT_UNDNAME
0x00000002
모든 기호는 장식되지 않은 형태로 표시됩니다.

이 옵션은 전역 또는 로컬 기호가 비코딩되지 않은 상태로 저장되므로 영향을 주지 않습니다. 이 옵션은 공용 기호에만 적용됩니다.

반환 값

함수는 현재 옵션 마스크를 반환합니다.

설명

애플리케이션에서 라이브러리를 사용하는 동안 옵션 값을 여러 번 변경할 수 있습니다. 옵션 변경은 기호 처리기에 대한 모든 이후 호출에 영향을 줍니다.

현재 옵션 마스크를 얻으려면 SymGetOptions 함수를 호출합니다 .

이와 같은 모든 DbgHelp 함수는 단일 스레드입니다. 따라서 둘 이상의 스레드에서 이 함수로 호출하면 예기치 않은 동작이나 메모리 손상이 발생할 수 있습니다. 이를 방지하려면 둘 이상의 스레드에서 이 함수로의 모든 동시 호출을 동기화해야 합니다.

예제

예제는 기호 처리기 초기화를 참조하세요.

요구 사항

   
대상 플랫폼 Windows
헤더 dbghelp.h
라이브러리 Dbghelp.lib
DLL Dbghelp.dll
재배포 가능 파일 DbgHelp.dll 5.1 이상

추가 정보

DbgHelp 함수

SymGetOptions