증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
다음 옵션 중 하나를 사용 하 여 (/Og) 전역 최적화 옵션을 설정 하면:
-
/O1
-
/O2
-
/Ox
-
-
Microsoft Visual Studio 2008 서비스 팩 1 (SP1)을 사용 하 여 Microsoft Visual C++ 소스 파일을 만들 수 있습니다.
-
소스 파일 setjmp 함수, longjmp 함수 또는 두 함수를 호출합니다.
이 시나리오에서 컴파일러는 다른 지역 변수를 저장할 같은 스택 오프셋이 사용할 수 있습니다. 따라서 생성 된 응용 프로그램을 실행 하면 예기치 않은 동작이 발생할 수 있습니다.
원인
Setjmp 함수 또는 longjmp 기능에 대 한 최적화를 고려 하지 않습니다 때문에이 문제가 발생 합니다. 이렇게 하면 최적화 프로그램에서 로컬 변수의 수명을 잘못 계산할. 하나의 변수가 변경 되 면 다른 변수를 예기치 않게 변경할 수 있습니다.
해결 방법
핫픽스 정보
지원되는 핫픽스를 Microsoft에서 구할 수 있습니다. 그러나 이 핫픽스는 이 문서에서 설명하는 문제만을 해결하는 데 사용되도록 작성되었습니다. 이 문서에서 설명한 문제가 발생하는 시스템에만 이 핫픽스를 적용하십시오. 이 핫픽스는 추가 테스트가 필요할 수도 있습니다. 따라서, 이 문제로 심각하게 영향을 받지 않는 경우 이 핫픽스가 포함된 다음 소프트웨어 업데이트가 나올 때까지 기다리는 것이 좋습니다. 이 문제를 즉시 해결 하려면 핫픽스를 얻으려면 Microsoft 고객 지원 서비스에 문의 합니다. Microsoft 고객 서비스 및 지원 전화 번호의 전체 목록이 필요하거나 별도로 서비스를 요청하려면, 다음 Microsoft 웹 사이트를 방문하십시오.
http://support.microsoft.com/contactus/?ws=support참고 특별 한 경우에 Microsoft 기술 지원 전문가가 특정 업데이트로 문제를 해결할 수 있는지 결정 하는 경우 일반적으로 지원 요청에 따른 비용이 취소 될 수도 있습니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다. Microsoft Developer Network (MSDN) 코드 갤러리에서이 핫픽스를 다운로드 하려면 다음 Microsoft 웹 사이트를 방문 하십시오.
http://code.msdn.microsoft.com/KB2498381참고 MSDN 코드 갤러리 핫픽스를 사용할 수 있는 언어가 표시 됩니다. 나열 된 언어를 표시 되지 않으면 코드 갤러리 리소스 페이지를 해당 언어에 사용할 수 없기 때문에입니다. 또는이 핫픽스는 다음 Microsoft 연결 웹 사이트에서 다운로드할 수 있습니다.
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=34826
필수 구성 요소
이 핫픽스를 적용 하려면 Microsoft Visual Studio 2008 서비스 팩 1이 설치 되어 있어야 합니다.
다시 시작 정보
Visual Studio 모든 인스턴스를 중지 한 경우이 핫픽스를 설치한 후 컴퓨터를 다시 시작할 필요가 없습니다.
핫픽스 대체 정보
이 핫픽스는 이전에 릴리스된 핫픽스를 대체하지 않습니다.
파일 정보
이 핫픽스의 글로벌 버전은 다음 표에 나열된 특성을 갖는 파일을 설치합니다. 이러한 파일의 날짜와 시간은 UTC(협정 세계시)로 표시되어 있습니다. 로컬 컴퓨터의 파일 날짜와 시간은 현지 시간 및 현재 DST(일광 절약 시간제)가 적용된 시간과 함께 표시됩니다. 또한이러한날짜와시간은파일에대해특정작업을수행할경우변경될수있습니다.
파일 이름 |
파일 버전 |
파일 크기 |
날짜 |
시간 |
플랫폼 |
---|---|---|---|---|---|
C2.dll |
15.0.30729.6147 |
2,283,840 |
2011 년 2 월-25- |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,362,688 |
2011 년 2 월-25- |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
2,493,248 |
2011 년 2 월-25- |
01:25 |
x86 |
C2.dll |
15.0.30729.6147 |
3,018,048 |
2011 년 2 월-25- |
01:25 |
x64 |
C2.dll |
15.0.30729.6147 |
7,263,040 |
25-Feb-2011 |
01:25 |
IA-64 |
Link.exe |
9.0.30729.6147 |
1,055,560 |
2011 년 2 월-25- |
01:25 |
x64 |
Link.exe |
9.0.30729.6147 |
2,135,368 |
25-Feb-2011 |
01:25 |
IA-64 |
Link.exe |
9.0.30729.6147 |
800,584 |
25-Feb-2011 |
01:25 |
x86 |
해결 방법
이 문제를 해결 하려면 컴파일러의 변수 수명 인식 될 수 있도록 초기 함수에에서 로컬 변수를 초기화 합니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
추가 정보
소프트웨어 업데이트 용어에 대한 자세한 내용을 보려면, 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 확인하십시오.
824684 Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명