Behoben: So Beheben Sie DirectX Memory Leak Interrupt

Wenn Sie ein DirectX-Speicherleck auf dem System feststellen, hoffen wir, dass Ihnen diese Benutzerhilfe weiterhilft.

Sie können Ihren Laptop oder Desktop in wenigen Minuten ohne Vorkenntnisse reparieren. Klicken Sie hier, um zu sehen, wie.

Dieses Konto bietet Problemumgehungen für ein Problem, das leider dazu führt, dass Windows Presentation Foundation (WPF)-Tools während der Break a very Memory Leaks-Laufzeitprüfung fehlschlagen.

Ursprüngliche Produktmarke: Windows Presentation Foundation
Ursprüngliche KB-Nummer: 2643361

Symptome

Entwickler können das dedizierte DirectX-SDK installieren und das DirectX Keep-on-Top-Panel verwenden, um optional eine gute Laufzeitprüfung namens Break on Memory Leaks zu aktivieren. Direct3D9 wurde entwickelt, um uns bei bestimmten Szenarien während des Herunterfahrens mit DebugBreak anzurufen, wenn ein solches Layout aktiviert ist und das Ergebnis als Objektleck betrachtet wird. Diese Konfiguration wirkt sich direkt auf alle Anwendungen aus, mehr als alle anderen Windows Presentation Foundation (WPF)-Anwendungen in diesen wie Visual Studio 2010.

Grund

Die native Rendering-Website in WPF ist zweifellos sicher geschlossen, daher funktionieren diese Banküberprüfungen zur Laufzeit nicht. Diese Fehler tauchen nur während des Herunterfahrens auf, also erwarten Sie nicht den neuesten Verständnisverlust oder eine unerbittliche Belastung von resources.rsov.

Problemumgehungen

  • Deaktivieren Sie Crash at Memory Leak in der DirectX-Teilesteuerung.
  • WPF-Anwendungen dazu zwingen, den Entwicklungsmodus für Computersoftwareprogramme zu verwenden. Weitere Informationen finden Sie unter Grafik-Rendering-Registrierungseinstellungen.
  • Lesen Sie ca. 6 Minuten
  • Aktualisiert

    Sind Sie es leid, dass Ihr Computer langsam läuft? Genervt von frustrierenden Fehlermeldungen? Reimage ist die Lösung für Sie! Unser empfohlenes Tool wird Windows-Probleme schnell diagnostizieren und reparieren und gleichzeitig die Systemleistung drastisch steigern. Warten Sie also nicht länger, laden Sie Reimage noch heute herunter!

  • 1. Reimage herunterladen
  • 2. Führen Sie das Programm aus
  • 3. Klicken Sie auf "Jetzt scannen", um alle Viren auf Ihrem Computer zu finden und zu entfernen

  • Hintergrund:Ich habe ein echtes Visual Studio-Projekt aus dem Jahr 2013 mit DirectX (Version 9). Das Projekt ist eine Art x86-Lösung. Wenn ich DirectX in der Nähe des Debug-Modus ausführe, kann ich nicht alle Speicherlecks erkennen.

    Direct3D9::====> EINGABE: DLLMAIN(6417d9a0): Trennen Sie Prozess 0000350c, tid=0000363cDirect3D9: (INFO):MemDone!Direct3D9: (FEHLER): Speicher wiederhergestellt! Die Zahl der Zertifikate impliziert 975Direct3D9: (FEHLER): Aktuelle Aktion (pid) bedeutet 0000350c hat ein fabelhaftes Breakpoint.Programm aufgerufen'[13580] ' hinterließ Code 8 (0x0).

    Aus dem oben Gesagten habe ich gelernt, das Programm scheint mit 975 ausgewählten Elementen zu arbeiten, aber auch nicht zerstört befreit zu werden. Dies löste einen Breakpoint aus, während Sie für die DirectX-Debug-Einstellung bezahlen (“Break formory Leaks). .

    Break on Memory Stains DirectX

    Bevor ich also den eigentlichen I-Code poste, habe ich versucht, einige der meisten von Microsoft bereitgestellten PIX-Dienstprogramme mit DirectX zu verwenden. Wenn ich dieselbe Möglichkeit erfasse, habe ich das folgende Ergebnis erhalten, was bedeutet, dass jedes erstellte Objekt dann zerstört wurde.

    Speicherlecks umgehen directx

    Deshalb würde ich immer noch den Leak Store nach VS2013 vorschlagen, jedoch nicht nach PIX. Irgendwelche Ideen, wie man das macht?

    Hallo Mohammed,

    Vielen Dank für Ihre Antwort zurück. Wie auch immer, ich vermisse ihn immer noch und / oder vielleicht etwas, das du … nicht reparieren kannst …

    Erstens gibt es eine viel längere Liste, die von unveröffentlichten Aufgaben erstellt wurde, einschließlich des Haupt-Direct3D-Objekts (zumindest glaube ich, dass dies das mit der AllocID 1 ist), das keines ist (aber alles aufrufen, was natürlich dazu gehört). das, oder?)

    Danke für Ihr Verständnis, da ich SetIndices(NULL) etc. nicht setzen muss (es hat mich verrückt gemacht, wer das wohl zu brauchen scheint…)

    Ich habe versucht, AllocID zu bekommen, aber die meisten von ihnen enden mit dem sicheren Aufruf von sprintf() usw.

    Ich bin in der Lage, die Ausgabe mit diesem speziellen Debugging zu injizieren (ich habe gefiltert, um aus nichtigen Datenteilen auszuwählen), aber ich bezweifle, dass dies nicht viel für Käufer bereit ist, unabhängig davon, ob sie nicht wissen, wo der Ort ist. .< /p >Einige der AllocIDs befinden sich irgendwo in der Nähe der Shader, obwohl ich die Assemblage / Zusammenstellung definitiv auch veröffentlichen werde 🙁

    HookingE:UNLIMITEDRACERSOURCESCOMPILATIONGRAPHICTESTDEBUG.EXERPH: Injected if running updone...RPH:D3D9_DLL Hooked'GraphicTestDebug.exe' : Loaded 'C:WINDOWSsystem32MSCTF.dll' , Symbol nicht geladen. 'GraphicTestDebug.exe': 'C:WINDOWSsystem32d3d9d.dll' geladen, Symbole nicht geladen. 'GraphicTestDebug.exe': 'C:WINDOWSsystem32d3dx9d_28.dll' geladen, Design nicht geladen. (INFO) direct3d9: Direct3D9-Debug-Laufzeit ausgewählt. D3D9 Helper: Erweitertes D3DD-Debugging deaktiviert; Anwendung absolut nicht mit direct3d9 kompiliert D3D_DEBUG_INFO(INFO): Direct3D9 Debug Runtime ausgewählt D3D9 Helper: D3DD Stretched Debugging deaktiviert; Anwendung wurde nicht mit D3D_DEBUG_INFO(INFO) Direct3d9::Direct3D9 Debug Runtime, D3D9 Helper ausgewählt: Erweitertes D3DD-Debugging deaktiviert; Die Anwendung wurde tatsächlich nicht mit (INFO) d3d_debug_infodirect3d9::====================== Hal MixedVP, Direct3D9-Gerät ausgewählt: (INFO):HalDevice Driver Style 9Direct3D9 : (INFO): Reiter konnten nicht direkt erstellt werden IndexbufferGraphicTestDebug.exe erzeugte perfekten Haltepunkt 'GraphicTestDebug.exe': 'C:WINDOWSsystem32usp10.dll' wird geladen, Promis nicht hochgeladen D3D9 Bereits verbunden, muss aber zum System. UnHookingRPH:D3D9_DLL 'GraphicTestDebug.exe' enthalten: 'H:ProgrammePowerStripPShook.dll' wurde gebündelt, die Binärdatei wurde nicht erstellt, Debug-Informationen waren vorhanden. 'GraphicTestDebug.exe': 'C:WINDOWSsystem32oleaut32.dll' geladen, kein Bild geladen. 'GraphicTestDebug.exe': Version geladenGenius 'h:program NetScroll+ Optical MouseWhoru.dll' wurde zuvor nicht in die Binärdatei eingebaut enthält zusätzlich Debug-Informationen. 'GraphicTestDebug.exe': installiert 'C:WINDOWSsystem32mslbui.dll', Wert nicht geladen 'GraphicTestDebug.exe': aufgefüllt 'H:Program NetScroll+ filesgenius Optical Mousegnetscrl.dll', binär zweifellos geladen wurde erstellt und Debug-Richtlinie .Direct3D9: (INFO):MemFini!Direct3D9: (WARNUNG): Speicher noch nicht allokiert! Zuweisungszähler ist 98Direct3D9: (WARNUNG): Moderner Prozess (PID) ist 000004c4Direct3D9: (WARNUNG): ) Adresse:: Speicher 003bc200 lAllocID=9 dwSize=00001368, (pid=000004c4)Direct3D9: (WARNUNG): Backstack TraceDirect3D9: ( WARN) Address::memory 003bc098 lAllocID=10 dwSize=0000rect0008, (pid=000004c4) (WARNUNG) Address:: cram memory 003bd5d8 lAllocID=11 dwSize=000007e0, (pid=000004c4)Direct3D9: (WARNUNG): Stackback TraceDirect3D9: ( WARNUNG) Adresse:: Speicher 003bf4d8 lAllocID=42 dwSize=42 dw06bc 00, 000004c4)Direct3D9: (WARNUNG): 1) Stack Back TraceDirect3D9: (WARNUNG) Adresse:: Speicher 003b9e80 lAllocID=44 dwSize=000017a0, (000004c4) )Direct3D9: (WARNUNG): TraceDirect3D9 zurückstapeln: (WARNUNG) =000004c4)Direct3D9: (WARNUNG): TraceDirect3D9-Stapel neu installieren: (WARNUNG): Adresse: WARNUNG: Speicher 01c8ad98 lAllocID=48 dwSize=00003508, (pid=000004c4)Direct3D9 : (WARNUNG): Backstack TraceDirect3D9: (WARNUNG) Adresse 0:08 :bmemory lAllocID=49 dwSize=00000198, (pidc4)Direct3D98 und Stack Back TraceDirect3D 9: (WARN) Address::cram 003bbf58 lAllocID=50 dwSize=00000030, (pid=000004c4)Direct3D9: (WARN): Stack Back TraceDirect3D9: (WARN) Address::memory 01c8e310 lAllocID=51 dwSize=00001020, (pid= 000004c4)Direct3D9: (WARN) (Leerzeichen) Stack Back TraceDirect3D9: (WARN) Address::memory 01c8f3a0 lAllocID=52 dwSize=2000088 : (pid = 000004c4) Direct3D9: (WARN): Stack Back TraceDirect3D9: (WARN) Address:: m Erinnerung 003bfe10 lAllocID=53 dwSize=00000090, (pid=000004c4)Direct3D9: (WARNUNG): Back T raceDirect3D9 stack: (WARNING) Address::memory 003bff10 lAllocID=54 dwSize=00000050, (pid=000004c4) . . . . . . TraceDirect3D9 Back Stack: (WARN) Address: :maintenance 003bf200 lAllocID=56 dwSize=00000090, (pid=000004c4) pid=000004c4) Direct3D9: (WARN) and Stack Back TraceDirect3D9: (WARN) Address: :memory 005 Alldoc3 =00000050, (pid=000004c4)Direct3D9: (WARNUNG): Stack Back TraceDirect3D9: (WARNUNG) Adresse:: Speicher 003bf3c0 lAllocID=59 dwSize=00000044, (pid=000004c4)Direct3D9: (WARNUNG):

    Wenn Sie nach einer Möglichkeit suchen, Ihren PC zu reparieren, suchen Sie nicht weiter. Reimage ist eine All-in-one-Lösung, die Ihnen helfen kann, Viren und Malware loszuwerden, Ihre Systemleistung zu steigern, Windows-Registrierungsfehler zu reparieren und vieles mehr.

    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
    수정됨: DirectX 메모리 누수 인터럽트를 수정하는 방법
    Corregido: Cómo Arreglar La Interrupción De Pérdida De Memoria De DirectX
    Fixat: Hur Man åtgärdar DirectX-minnesläckageavbrott