지연 기호 로드

기본적으로 대상 모듈이 로드될 때 기호 정보가 실제로 로드되지 않습니다. 대신 필요에 따라 디버거에서 기호를 로드합니다. 이를 지연 기호 로드 또는 지연 기호 로드라고 합니다. 이 옵션을 사용하도록 설정하면 디버거는 인식할 수 없는 기호가 발견될 때마다 기호를 로드합니다.

예를 들어 .sympath(기호 경로 설정) 명령을 사용하여 기호 경로를 변경하면 내보내기 기호가 있는 로드된 모든 모듈이 지연적으로 다시 로드됩니다. 새 경로에 PDB 기호를 로드하는 데 사용된 원래 경로가 더 이상 포함되어 있지 않으면 전체 PDB 기호가 있는 모듈의 기호가 지연 다시 로드됩니다. 새 경로에 PDB 기호 파일의 원래 경로가 계속 포함되어 있으면 해당 기호가 지연 다시 로드되지 않습니다.

지연된 기호 로드를 사용하지 않도록 설정하면 모듈이 로드될 때마다 모든 기호를 읽을 수 있으므로 프로세스 시작 속도가 훨씬 느려질 수 있습니다.

WinDbg에서는 디버그 메뉴의 정규화되지 않은 기호 확인 옵션을 사용하여 모듈 접두사 없는 기호에 대해 지연된 기호 로드 동작을 수정할 수 있습니다.

ld(Load Symbols) 명령 또는 /f 옵션을 사용하여 .reload(모듈 다시 로드) 명령을 사용하여 지연된 기호 로드를 재정의할 수 있습니다. 따라서 다른 기호의 로드가 지연되지만 지정된 기호를 즉시 로드합니다.

기본적으로 지연된 기호 로드를 사용하도록 설정됩니다. CDB 및 KD에서 -scommand-line 옵션은 이 옵션을 해제합니다. tools.ini 파일의 LazyLoad 변수를 사용하여 CDB에서 해제할 수도 있습니다. 디버거가 실행되면 각각 .symopt+0x4 또는 .symopt-0x4 사용하여 이 옵션을 켜거나 끌 수 있습니다.