확장 오류 정보의 안정성
확장된 오류 정보는 신뢰할 수 없습니다. 확장 오류 정보는 코드 논리를 빌드하는 데 사용할 수 없습니다. 확장 오류 정보가 있는 경우 검사 해당 정보를 덤프, 저장 또는 기록하는 것이 적절합니다. 그러나 정보 또는 그 내용에 의존하지 마십시오.
다음 이유로 확장 오류 정보가 신뢰할 수 없는 이유를 설명합니다.
- 확장 오류 레코드의 시퀀스와 내용은 변경될 수 있는 시스템의 내부 아키텍처에 따라 달라집니다. 특정 작업은 현재 시스템에서 NPFS를 통과할 수 있지만 내일은 TCP를 통과할 수 있습니다. 이러한 다양한 구성 요소는 매우 다른 오류 코드를 생성하므로 코드 검사는 본질적으로 신뢰할 수 없으며 권장되지 않습니다.
- 앞에서 설명한 대로 확장 오류 정보의 전파를 사용하지 않도록 설정할 수 있습니다. 검색 코드가 포함된 경우 애플리케이션은 특정 환경에서 작동이 중지될 수 있습니다.
- 확장된 오류 정보의 전파는 최상의 방법으로 수행됩니다. 컴퓨터에 체인을 처리하거나 전파할 메모리가 충분하지 않은 경우 확장 오류 정보의 전파 또는 생성이 실패할 수 있습니다. 이러한 상황에서 체인은 삭제됩니다. 일부 프로토콜은 일반적으로 많은 정보를 포함하지 않으므로 오류 패킷의 길이가 제한되어 있습니다. 체인의 길이가 패킷의 허용 길이를 초과하면 RPC 런타임은 체인을 패킷에 맞추기 위해 체인에서 정보를 삭제하기 시작합니다. 런타임은 첫 번째 레코드와 마지막 레코드만 남을 때까지 두 번째 레코드부터 시작하여 뒤로 이동한 레코드를 삭제합니다. 체인이 여전히 패킷에 맞지 않는 경우 런타임은 문자열 매개 변수 및 컴퓨터 이름을 삭제합니다. 문자열 매개 변수를 삭제하면 매개 변수의 형식이 none으로 설정됩니다. 레코드가 삭제되면 다음 레코드에서 EEInfoNextRecordsMissing 플래그가 설정되고 이전 레코드에서 EEInfoPreviousRecordsMissing이 설정됩니다.