Исправлено: как исправить прерывание DirectX из-за утечки памяти

Если в вашей компании произошла утечка памяти DirectX в вашей системе, мы надеемся, что это руководство для веб-пользователей поможет вам.

Вы можете починить свой ноутбук или настольный компьютер за считанные минуты, не требуя специальных навыков. Нажмите здесь, чтобы узнать, как это сделать.

В этой статье представлены обходные пути для публикации, которая приводит к сбою приложений Windows Presentation Foundation (WPF) во время проверки среды выполнения на предмет утечки памяти.

Исходная версия оборудования: Windows Presentation Foundation
Исходная оценка КБ: 2643361

Симптомы

Разработчики могут установить специальный DirectX SDK и использовать панель управления DirectX, чтобы дополнительно включить полную классную проверку во время выполнения под названием Break на тему утечек памяти. Direct3D9 спроектирован таким образом, что он будет вызывать нас с помощью DebugBreak в уникальные моменты времени во время завершения работы, если такая конкретная конфигурация включена и результатом является утечка объекта. Это изменение структуры напрямую повлияет на все компьютерные приложения, особенно на приложение Windows Presentation Foundation (WPF), такое как Visual Studio 2010.

Причина

Вероятно, веб-сайт с естественным рендерингом в WPF не будет надежно закрыт, поэтому эти проверки во время выполнения не работают. Эти сбои просто происходят во время завершения работы, так что не смотрите на потерю понимания или фактическую постоянную утечку ресурсов resources.rsov.

Временные решения

<ул>

  • Снимите флажок «Сбой при утечке памяти» в панели управления DirectX.
  • Принудительный переход приложений wpf в режим разработки программного обеспечения. Дополнительные сведения см. в разделе Параметры реестра рендеринга графики.
  • <ул>

  • Читать в течение 2 минут
  • Обновлено

    Вы устали от того, что ваш компьютер работает медленно? Раздражают разочаровывающие сообщения об ошибках? Reimage - это решение для вас! Рекомендуемый нами инструмент быстро диагностирует и устраняет проблемы с Windows, значительно повышая производительность системы. Так что не ждите больше, скачайте Reimage сегодня!

  • 1. Скачать Reimage
  • 2. Запустите программу
  • 3. Нажмите "Сканировать сейчас", чтобы найти и удалить все вирусы на вашем компьютере.

  • История:У меня есть реальный проект Visual Studio 2013 с DirectX (версия 9). Проект является своеобразным аналогом x86-решения. Когда я запускаю DirectX в режиме отладки, я не могу избавиться от всех утечек.

    Direct3D9::====> ВВОД: DLLMAIN(6417d9a0): Отсоединить процесс 0000350c, tid=0000363cDirect3D9: (ИНФОРМАЦИЯ):MemDone!Direct3D9: (ОШИБКА): память восстановлена! Большое количество надбавок подразумевает 975Direct3D9: (ОШИБКА): Текущий процесс (pid) означает 0000350c<имя решения>, часто называемое точкой останова.программа'[13580] <имя решения>' оставил число 0 (0x0).

    Из вышеизложенного я понял, что программа работает, используя 975 выделенных элементов, но при этом не дефектных и не освобожденных. Это вызвало надежную точку останова, поскольку вы платите за этот параметр отладки DirectX ("Break formemoryleaks").

    break on hard disk leaks directx

    Поэтому перед публикацией нормального I-кода я попытался использовать различные утилиты PIX, предоставленные Microsoft с DirectX. Захватив точно такое же решение, я получил следующее решение, которое означает, что каждый созданный объект затем уничтожался.

    перерыв через утечку памяти directx

    Поэтому сегодня я рекомендую Leak Store после VS2013, но не после PIX. Любые проекты, как это сделать?

    Здравствуйте Мохаммад,

    Спасибо за ваш личный ответ. В любом случае, я все еще скучаю по нему или по ней или что-то в этом роде, ты... не можешь это вылечить...

    Во-первых, есть гораздо более длинный список неопубликованных задач, включая основной объект Direct3D (по крайней мере, я действительно думаю, что это тот, у которого AllocID 1), которого нет (но вызов почти всех вещей, конечно). это, да?)

    Спасибо за мудрость, почему мне не нужно устанавливать SetIndices(NULL) и т. д. (это сводило меня с ума, кому это может понадобиться...)

    Я пытался найти AllocID, но чаще всего это вызывало безопасный вызов sprintf() и многих других.

    Я могу внедрить вывод с помощью этой превосходной отладки (я отфильтровал бесполезные фрагменты данных), но я боюсь, что это не очень готово для потенциальных покупателей, если они не знают, какой у вас источник...< / р >Часть каждого AllocID есть где-то рядом со всеми шейдерами, но сборку/сборку я тоже обязательно опубликую :(

    HookingE:UNLIMITEDRACERSOURCESCOMPILATIONGRAPHICTESTDEBUG.EXERPH: внедряется при запуске updone...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 Debug Runtime, выбран помощник D3D9: передовая отладка D3DD отключена; Приложение действительно было с трудом скомпилировано с (INFO) d3d_debug_infodirect3d9::======================= Hal MixedVP, выбрано устройство Direct3D9: (INFO):HalDevice Driver Style 9Direct3D9 : (ИНФОРМАЦИЯ): Не удалось получить драйвер напрямую. IndexbufferGraphicTestDebug.exe сгенерировал замечательную точку останова «GraphicTestDebug.exe»: «C:WINDOWSsystem32usp10.dll» загрузка иен, знаменитости не отправлены 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: (ПРЕДУПРЕЖДЕНИЕ): ) Address:: memory 003bc200 lAllocID=9 dwSize=00001368, (pid=000004c4)Direct3D9: (WARN): Backstack TraceDirect3D9: ( ПРЕДУПРЕЖДЕНИЕ) Адрес:: память 003bc098 lAllocID=10 dwSize=0000rect0008, (pid=000004c4) (ПРЕДУПРЕЖДЕНИЕ) Адрес:: оперативная память 003bd5d8 lAllocID=11 dwSize=000007e0, (pid=000004c4)Direct3D9: (ПРЕДУПРЕЖДЕНИЕ): Stackback9 TraceDirect ВНИМАНИЕ) Адрес: :recall 003bf4d8 lAllocID=42 dwSize=42 dw06bc 00, 000004c4)Direct3D9: (ПРЕДУПРЕЖДЕНИЕ): - Stack Back TraceDirect3D9: (ПРЕДУПРЕЖДЕНИЕ) Address::memory 003b9e80 lAllocID=44 dwSize=000017a0, (0pid4=c00) Direct3D9: (ПРЕДУПРЕЖДЕНИЕ): Back Back TraceDirect3D9: (ПРЕДУПРЕЖДЕНИЕ) =000004c4)Direct3D9: (ПРЕДУПРЕЖДЕНИЕ): Переустановите стек TraceDirect3D9: (ПРЕДУПРЕЖДЕНИЕ): Адрес: ПРЕДУПРЕЖДЕНИЕ: Память 01c8ad98 lAllocID=48 dwSize=00003508, (pid=000004c4)Direct3D9: (ПРЕДУПРЕЖДЕНИЕ): Backstack TraceDirect3D9: (WARN) Адрес 0:08 :bmemory lAllocID=49 dwSize=00000198, (pidc4)Direct3D98 и Stack Back TraceDir ect3D9: (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) (пробел) Stack Back TraceDirect3D9: (WARN) Address::memory 01c8f3a0 lAllocID=52 dwSize=2000088 , ( pid = 000004c4) Direct3D9: (WARN): Stack Back TraceDirect3D9: (WARN) Address:: b memory 003bfe10 lAllocID=53 dwSize=00000090, (pid=000004c4)Direct3D9: (ПРЕДУПРЕЖДЕНИЕ): Back TraceDirect3D9 stack: (WARNING) Address::memory 003bff10 lAllocID=54 dwSize=00000050, (pid=000004c4) ! ! ! . . Обратный стек TraceDirect3D9: (WARN) Адрес: :retention 003bf200 lAllocID=56 dwSize=00000090, (pid=000004c4) pid=000004c4) Direct3D9: (WARN) и Stack Back TraceDirect3D9: (WARN) Адрес: :memory 005 Alldoc3 =00000050, (pid=000004c4)Direct3D9: (WARN): Stack Back TraceDirect3D9: (WARN) Address:: Memory 003bf3c0 lAllocID=59 dwSize=00000044, (pid=000004c4)Direct3D9: (WARNING):

    Если вы ищете способ починить свой компьютер, не ищите дальше. Reimage — это универсальное решение, которое может помочь вам избавиться от вирусов и вредоносных программ, повысить производительность вашей системы, исправить ошибки реестра Windows и многое другое.

    Fixed: How To Fix DirectX Memory Leak Interrupt
    Corrigido: Como Corrigir A Interrupção De Vazamento De Memória 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 메모리 누수 인터럽트를 수정하는 방법
    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
    г.