고정: DirectX 메모리 누수 인터럽트를 수정하는 방법

시스템에 DirectX 메모리 누수가 있는 경우 이 사용자 가이드가 도움이 되기를 바랍니다.

기술이 필요 없이 몇 분 만에 노트북이나 데스크탑을 고칠 수 있습니다. 방법을 보려면 여기를 클릭하십시오.

이 문서에서는 Break an Memory Leaks 런타임 검사 중에 기여한 WPF(Windows Presentation Foundation) 응용 프로그램이 허둥대는 문제에 대한 해결 방법을 제공합니다.

원본 제품 버전: Windows Presentation Foundation
원본 KB 번호: 2643361

증상

개발자는 전용 DirectX SDK를 설치하고 DirectX 제어판을 사용하여 선택적으로 Break on Memory Leaks라는 멋진 런타임 평가를 활성화할 수 있습니다. Direct3D9는 종료 중에 특정 시간에 DebugBreak가 있는 우리를 호출하도록 설계되었습니다. 이러한 구성이 허용되고 결과가 기사 누출인 경우입니다. 이 구성 변경은 모든 애플리케이션, 특히 Visual Studio 2010과 같은 WPF(Windows Presentation Foundation) 애플리케이션에 즉시 영향을 미칩니다.

이유

WPF의 기본 렌더링 웹 블로그는 안전하게 만들어지지 않으므로 이러한 런타임 검사가 작동하지 않습니다. 이러한 실패는 시스템 종료 중에만 발생하므로 이해와 관련된 손실이나 resources.rsov의 지속적인 고갈을 기대하지 마십시오.

해결 방법

<문자열>

  • DirectX 패널 컨트롤에서 메모리 누수 시 충돌을 선택 취소합니다.
  • wpf 컴퓨터 소프트웨어가 소프트웨어 개발 기능을 사용하도록 강제합니다. 자세한 내용은 레지스트리 설정을 제공하는 그래픽을 참조하세요.
  • <문자열>

  • 약 2분 읽기
  • 업데이트됨

    컴퓨터가 느리게 실행되는 것이 지겹습니까? 실망스러운 오류 메시지에 짜증이 납니까? Reimage은 당신을 위한 솔루션입니다! 우리가 권장하는 도구는 시스템 성능을 극적으로 향상시키면서 Windows 문제를 신속하게 진단하고 복구합니다. 그러니 더 이상 기다리지 말고 지금 Reimage을 다운로드하세요!

  • 1. Reimage 다운로드
  • 2. 프로그램 실행
  • 3. 컴퓨터에서 바이러스를 찾아 제거하려면 "지금 검색"을 클릭하십시오.

  • 배경:DirectX(버전 9)와 함께 새로운 실제 Visual Studio 2013 프로젝트가 있습니다. 프로젝트는 확실히 일종의 x86 솔루션입니다. 디버그 구조에서 DirectX를 실행할 때 모든 메모리 누수를 제거할 수 없습니다.

    Direct3D9::====> 입력: DLLMAIN(6417d9a0): 프로세스 분리 0000350c, tid=0000363cDirect3D9: (정보):MemDone!Direct3D9: (오류): 메모리가 복원되었습니다! 수당의 수는 975를 의미합니다.Direct3D9: (오류): 현재 프로세스(pid)에는 0000350c가 포함됩니다.breakpoint.program을 호출한 <솔루션 이름>'[13580] <솔루션 이름>' 왼쪽 코드 0(0x0).

    위에서 종종 나는 프로그램이 975개의 할당된 요소와 함께 작동하지만 파괴되거나 해제되지 않는다는 것을 배웠습니다. 이것은 일반적으로 DirectX 디버그 펜가투란(“Break formemory Leaks)에 대해 비용을 지불했기 때문에 중단점이 발생했습니다. .

    break on memory leaks directx

    실제 I-code 게시에 직면하여 Microsoft에서 제공하는 일부 PIX 유틸리티를 DirectX와 함께 사용하려고 했습니다. 동일한 솔루션을 캡처하여 다음과 같은 결과를 얻었습니다. 즉, 생성된 모든 개체가 파괴된 개체를 따르고 있음을 의미합니다.

    break on memory water leaks directx

    그러므로 VS2013 이후에도 Leak Store를 권장하지만 바로 PIX하지는 않습니다. 이것을 제공하는 방법에 대한 아이디어가 있습니까?

    안녕하세요 모하마드님,

    답변 감사합니다. 어쨌든, 나는 여전히 그를 그리워하거나 무엇인가, 아무도… 고칠 수 없습니다…

    첫째, 주요 Direct3D 문제(적어도 AllocID 1이 있는 i는 i라고 생각합니다)를 포함하여 공개되지 않은 훨씬 더 긴 목록이 있습니다. 이런, 맞죠?)

    SetIndices(NULL) 등을 설정할 필요가 없는 이유를 이해해 주셔서 감사합니다. (누가 이것을 가질 수 있는지…)

    AllocID를 찾으려고 했지만 다행히 대부분은 sprintf() 등을 안전하게 고용했습니다.

    나는 이 디버그로 출력의 일부를 주입할 수 있지만(나는 데이터와 관련된 쓸모없는 부분에서 선택하기 위해 텔레비전을 사용함), 구매자가 일반적으로 소스가 무엇인지 알고 있다면 이것은 muchReady와 반대되는 것이 아닐까 걱정됩니다…< /p >AllocID 중 일부는 셰이더 근처에 어디에나 있지만 어셈블리/시스템도 분명히 게시할 것입니다.(

    HookingE:UNLIMITEDRACERSOURCESCOMPILATIONGRAPHICTESTDEBUG.EXERPH: 훈련 완료 시 주입...RPH:D3D9_DLL Hooked'GraphicTestDebug.exe' : 'C:WINDOWSsystem32MSCTF.dll' 로드, 기호가 로드되지 않았습니다. 'GraphicTestDebug.exe': 'C:WINDOWSsystem32d3d9d.dll' 로드됨, 휘장은 로드되지 않음. 'GraphicTestDebug.exe': 'C:WINDOWSsystem32d3dx9d_28.dll' 로드, 스타일 및 디자인 로드되지 않음. (정보) direct3d9: Direct3D9 디버그 런타임이 선택되었습니다. D3D9 도우미: D3DD 고도로 개발된 디버깅이 비활성화되었습니다. Direct3d9 D3D_DEBUG_INFO(INFO)를 사용하여 응용 프로그램이 컴파일되지 않음: Direct3D9 디버그 런타임 기본 D3D9 도우미: D3DD 확장 디버깅 비활성화됨; 응용 프로그램이 D3D_DEBUG_INFO(INFO) Direct3d9::Direct3D9 디버그 런타임, D3D9 도우미로 컴파일되지 않았습니다. D3DD 고급 디버깅 비활성화됨; (INFO) d3d_debug_infodirect3d9::======================== Hal MixedVP, Direct3D9 장치가 선택되어 있는 동안 소프트웨어 프로그램이 실제로 컴파일되지 않았습니다: (INFO):HalDevice Driver Style 9Direct3D9( space ) (INFO): 드라이버를 직접 빌드하지 못했습니다. IndexbufferGraphicTestDebug.exe가 완벽한 중단점 'GraphicTestDebug.exe'를 생성했습니다: 'C:WINDOWSsystem32usp10.dll' loadingyen, 패션 디자이너가 업로드하지 않은 D3D9 이미 묶여 ​​있지만 다시 시작해야 합니다. UnHookingRPH:D3D9_DLL 'GraphicTestDebug.exe' 포함: 'H:ProgramsPowerStripPShook.dll'이 로드되었으며 디버그 전문 지식이 있기 때문에 해당 바이너리가 빌드되지 않았습니다. 'GraphicTestDebug.exe': 'C:WINDOWSsystem32oleaut32.dll' 로드됨, 로드되지 않은 이미지. 'GraphicTestDebug.exe': 파일 로드Genius 'h:program NetScroll+ Optical MouseWhoru.dll'이 바이너리에 통합되지 않았으며 디버그 정보를 전달합니다. 'GraphicTestDebug.exe': 로드된 'C:WINDOWSsystem32mslbui.dll', 값이 로드되지 않음 'GraphicTestDebug.exe': 로드된 'H:Program NetScroll+ filesgenius Optical Mousegnetscrl.dll', 바이너리 로드되지 않음이 생성되고 정보를 디버그합니다. Direct3D9: (INFO):MemFini!Direct3D9: (경고): 메모리가 아직 할당되지 않았습니다! 할당 횟수는 98Direct3D9:(경고): 현재 전체 작업(PID)은 000004c4Direct3D9: (경고): ) 주소:: 알림 003bc200 lAllocID=9 dwSize=00001368, (pid=000009c4)Direct3D (DirectWARN) 주소::메모리 003bc098 lAllocID=10 dwSize=0000rect0008, (pid=000004c4) (경고) 주소:: ram 인식 003bd5d8 lAllocID=11 dwSize=00,pid=0 경고) 주소: :memory 003bf4d8 lAllocID=42 dwSize=42 dw06bc 00, 000004c4)Direct3D9: (경고): - 스택 백업 TraceDirect3D9: -pid40d7000) (WARNINGIE) 주소::memory8=044lAll0 Direct3D9: (경고): 스택 백 TraceDirect3D9: (경고) =000004c4)Direct3D9: (경고): TraceDirect3D9 스택 다시 설치: (경고): 주소: 경고:Memory 01c8ad98 lAllocID=48 dwSize=000003 (WARN): Backstack TraceDirect3D9: (WARN) 주소 0:08 :bmemory lAllocID=49 dwSize=00000198, (pidc4)Direct3D98 및 Stack Back Trac eDirect3D9: (WARN) 주소::cram 003bbf58 lAllocID=50 dwSize=00000030, (pid=000004c4)Direct3D9: (WARN): 스택 백 TraceDirect010,0Spid01D9: (WARN) 주소::memory 01c8e310 000004c4)Direct3D9: (WARN) (공백) 스택 백 TraceDirect3D9: (WARN) 주소::memory 01c8f3a0 lAllocID=52 dwSize=2000088, ( pid는 000004c4와 같음) 스택: TraceDirect3D9: (WARN) m 메모리 003bfe10 lAllocID=53 dwSize=00000090, (pid=000004c4)Direct3D9: (경고): 백 T raceDirect3D9 스택: (경고) 0,0pid 0 (0) 주소:: 메모리 003bff10 lAllocID0=50 0 d00S . . TraceDirect3D9 백 스택: (WARN) 주소: :retention 003bf200 lAllocID=56 dwSize=00000090, (pid=000004c4) pid=000004c4) Direct3D9: (WARN) 따라서 스택 백 TraceDirect3D0:5000 , (pid=000004c4)Direct3D9: (WARN): 스택 백 TraceDirect3D9: (WARN) 주소:: 메모리 003bf3c0 lAllocID=59 dwSize=00000044, (pid=000004c4)Direct3D9: (경고
    ):

    PC를 고칠 방법을 찾고 있다면 더 이상 찾지 마십시오. Reimage은 바이러스 및 맬웨어 제거, 시스템 성능 향상, Windows 레지스트리 오류 복구 등을 도와주는 올인원 솔루션입니다.

    Fixed: How To Fix DirectX Memory Leak Interrupt
    Corrigido: Como Corrigir A Interrupção De Vazamento De Memória DirectX
    Исправлено: как исправить прерывание утечки памяти DirectX
    Opgelost: DirectX Memory Leak Interrupt Repareren
    Corrigé : Comment Réparer L'interruption De Fuite De Mémoire DirectX
    Risolto: Come Risolvere L'interruzione Della Perdita Di Memoria DirectX
    Naprawiono: Jak Naprawić Przerwanie Wycieku Pamięci DirectX
    Behoben: So Beheben Sie DirectX Memory Leak Interrupt
    Corregido: Cómo Arreglar La Interrupción De Pérdida De Memoria De DirectX
    Fixat: Hur Man åtgärdar DirectX-minnesläckageavbrott