소개
있는 문제에 설명Windows 임베디드 컴팩트 7에서 동시에 C 런타임에 "atexit" 함수를 호출 하는 다중 스레드 n 예외가 발생합니다. 업데이트는이 문제를 해결할 수 있습니다. 이 업데이트를 설치 하기 전에이 제품에 대해 이전에 릴리스된 업데이트를 모두 설치 해야 합니다.
증상
다중 스레드 Windows 임베디드 컴팩트 7에서 동시에 C 런타임에 atexit 함수를 호출할 때 예외가 발생할 수 있습니다. 예외는 atexit 함수를 호출 하는 코드가 serialize 되지 않습니다 하거나 atexit 함수는 컴파일러에 의해 삽입 될 때 발생 합니다.
원인
C 실행 시간 atexit 함수는 스레드로부터 안전 하지 않습니다 문제가 발생 합니다. 따라서이 함수를 사용 하는 메모리 테이블이 손상 되었습니다.
해결 방법
소프트웨어 업데이트 정보
지원 되는 소프트웨어 업데이트가 Windows 임베디드 컴팩트 7 월 업데이트 (2017 년 6 월)로 Microsoft에서 출시 되었습니다.
참고: 이 Windows 임베디드 컴팩트 7 월 업데이트는 다음 Microsoft 다운로드 센터 웹 사이트에서 다운로드할 수 있습니다.
전제 조건
이 업데이트는이 제품에 대해 이전에 발표 된 업데이트를 모두 설치 된 경우에 사용할 수 있습니다.
다시 시작 요구 사항
이 업데이트를 적용한 후 전체 플랫폼의 빌드 청소(clean build)를 수행해야 합니다. 이렇게 하려면 다음 방법 중 하나를 사용 합니다.
-
빌드 메뉴에서 솔루션 정리클릭 한 다음 솔루션 빌드를 클릭 합니다.
-
빌드 메뉴에서 솔루션 다시 빌드를 클릭 합니다.
이 소프트웨어 업데이트를 적용 한 후 컴퓨터를 다시 시작할 필요가 없습니다.
업데이트 대체 정보
이 업데이트는 다른 업데이트를 대체 하지 않습니다.
파일 정보
이것은 전체 웨이브 출시입니다. 거의 모든 바이너리가이 릴리스의 영향을 받습니다.
이 릴리스에 영향을 받는 다음 소스 파일:.
private\winceos\COREOS\core\corelibc\crtw32\startup\cexit.cpp
private\winceos\COREOS\core\corelibc\crtw32\startup\onexit.c
추가 정보
다중 스레드 환경에서 스레드가 아닌 안전 때문에 atexit 함수 목차 atexit 호출에 의해 손상 될 수 있으므로 이 경우 메모리가 충돌 하 고 예외가 발생할 수 있습니다. Atexit 함수 등록할 프로그램을 종료 하거나.dll 언로드할 때 실행 되는 루틴을 사용 중입니다. 스레드 보안에 결함이 끝내기 루틴의 변경 및 종료 함수 테이블 손상 될 수 있습니다.
참조
Microsoft가 소프트웨어 업데이트를 설명하기 위해 사용 하는 용어 에 대해 알아봅니다.