Windows 10에서 System.Diagnostics.StackFrame 성능 저하
Windows 10 또는 .NET Framework 4.7.1 로 업그레이드한 후 System.Diagnostics.StackFrame 클래스 를 사용하는 .NET Framework 애플리케이션을 실행할 때 성능이 크게 저하되면 이 게시물이 도움이 될 것입니다. 원인을 살펴본 다음 오류에 대해 알려진 수정 사항을 제공합니다.
System.Diagnostics.StackFrame 성능 저하
.NET Framework 4.7 또는 이전 버전에서 실행 중인 허용 가능한 성능을 가진 응용 프로그램은 .NET Framework 4.7.1 에서 실행할 때 더 느리게 실행됩니다 . 응용 프로그램은 일반적으로 .NET 예외를 throw할 때 StackFrame에 의존합니다. 이것이 빠른 속도로(초당 10회 이상) 발생하면 응용 프로그램이 크게(10배) 느려지고 이전보다 눈에 띄게 느려질 수 있습니다.
System.Diagnostics.StackFrame 성능 저하의 원인(Cause of the System.Diagnostics.StackFrame performance degrade)
Windows 10 의 .NET Framework 4.7.1 은 스택 추적에서 파일 및 줄 번호 정보를 표시하기 위해 Portable PDB 파일 형식을 감지하고 구문 분석하는 지원을 추가했습니다 . 이 변경 사항의 일부로 스택 추적의 각 함수는 해당 모듈이 Portable PDB(PDB) 형식 을 사용하는지 확인하기 위해 정의 모듈을 검사 합니다. 내부 캐싱 정책의 몇 가지 차이점 으로 인해(Due) 런타임은 이전 .NET Framework 버전이 클래식 Windows PDB(Windows PDBs) 를 검색하는 데 소비한 것보다 훨씬 더 많은 시간을 Portable PDB(Portable PDBs) 를 검색하는 데 소비 합니다.
이로 인해 형식이 지정된 스택 추적이 이전보다 느리게 생성됩니다.
이 문제는 throw되는 예외 수를 변경하지 않습니다. 그러나 이러한 예외를 처리하는 응용 프로그램의 기능은 크게 감소합니다.
IKVM 라이브러리 를 사용하는 응용 프로그램 은 어셈블리를 검색하는 경우 이 문제의 영향을 받는 것으로 알려져 있습니다. 어셈블리를 검색하면 예외가 발생하는 것으로 알려져 있습니다.
System.Diagnostics.StackFrame(Fix System.Diagnostics.StackFrame) 성능 저하 문제 수정
이 문제를 해결하려면 다음 방법 중 하나를 사용하는 것이 좋습니다 .(Microsoft)
1] 부울 인수를 사용하는 StackFrame에 대해 다른 생성자 사용(1] Use a different constructor for StackFrame that takes a Boolean argument)
이것이 선호되는 솔루션입니다.
응용 프로그램 개발자가 응용 프로그램을 변경할 수 있는 경우 System.Diagnostics.StackTrace 를 (System.Diagnostics.StackTrace.)호출합니다 . (call the) 소스 정보 캡처를 피하기 위해 false 인수를 사용하여 #ctor( Boolean ) 생성자. (Boolean)이렇게 하면 성능이 저하되는 코드 섹션을 피할 수 있습니다.
2] 최신 Windows 10 버전으로 롤백 또는 업그레이드(2] Rollback or upgrade to the latest Windows 10 version)
이 방법에서 이 문제가 발생하고 현재 최신 버전의 Windows 10 을 실행하지 않는 경우 (Windows 10)이전 버전/빌드로 롤백 하거나 Windows 10 upgrade to the latest version/build 로 업그레이드합니다 . 또한 컴퓨터에서 .NET Framework 4.7.1(있는 경우)을 제거한 다음 .NET Framework(.NET Framework) 의 이전 버전 또는 최신 버전 을 다운로드(download) 하여 설치합니다 .
Hope this helps!
Related posts
Windows 10 PC에 설치된 .NET Framework version을 확인하는 방법
Fix Error 0x800F080C .NET Framework Windows 10에 설치할 때
Windows 10 설정에서 앱 옵션을 회색으로 가져올 위치를 선택하십시오
Windows 10 업그레이드 후 CMAK 기반 VPN가 작동하지 않습니다
Cloud Clipboard (Ctrl+V) Windows 10에서 작동하거나 동기화하지 않음
Computer이 domain network 외부로 잘못 탐지되었습니다
Hide Toolbars option Windows 10에서 Taskbar Context Menu에서
Airplane mode 회색이 밖으로 Windows 10
Windows 10에서 이동식 저장소 클래스 및 액세스를 비활성화하는 방법
Windows 10에서 네트워크 연결 문제를 해결하는 방법
Watch 디지털 TV 및 Windows 10 ProgDVB Windows 10 듣기
잠재적 인 Windows Update Database error은 Windows 10에서 감지되었습니다
Ashampoo WinOptimizer는 Windows 10을 최적화하는 자유 소프트웨어입니다
Best 무료 Barcode Scanner software Windows 10
Windows 10에서 인터넷 연결 문제 해결
Microsoft Solitaire collection은 Windows 10에서 열리지 않습니다
Google Chrome Windows 10의 문제 및 문제
Windows 10 컴퓨터에서 .aspx 파일을 여는 방법
Windows 10의 인 에이블먼트 패키지는 무엇입니까?
Windows 10 업그레이드 후 Stream HDR video 스위치 활성화