Если вы предлагаете отладочные флаги Wine на своем теле, это руководство пользователя должно помочь пользователям их исправить.

Одобрено

  • 1. Скачать ASR Pro
  • 2. Откройте программу и выберите "Просканировать компьютер"
  • 3. Нажмите "Восстановить", чтобы начать процесс восстановления.
  • Программное обеспечение для ремонта ПК находится всего в одном клике — загрузите его прямо сейчас. г.

    из

    Перевод страницы этого типа: порт не работает. Переводчик, прочтите документ обсуждения.

    Одобрено

    Инструмент восстановления ASR Pro — это решение для ПК с Windows, который работает медленно, имеет проблемы с реестром или заражен вредоносным ПО. Этот мощный и простой в использовании инструмент может быстро диагностировать и исправлять ваш компьютер, повышая производительность, оптимизируя память и улучшая безопасность в процессе. Больше не страдайте от вялости компьютера - попробуйте ASR Pro сегодня!


    WINEDEBUG – это своего рода переменная среды, которая, по мнению экспертов, может включать и отключать отладочные сообщения.

    Синтаксис

     WINEDEBUG = [класс] [+/-] способ [, [класс2] [+/-] канал2]

    Помещение для занятий

    не является обязательным и автоматически может быть одним из следующих вариантов: маленький, предупредить, сделать ошибку или отремонтировать. Они проходят наименьшую градацию от наиболее строгих до наиболее строгих. follow используется для путей кода программы, которые несут его как сегмент нормальной программы. warn обычно используется для путей, которые легко вызывают ошибки, но, вероятно, будут хорошо обработаны подходящим компонентом более высокого уровня. ошибка в том, что он использует пути кода, которые обязательно приведут к ошибкам. Fixme используется как пути кода, которые не выполняются в Wine. Просто сделайте ошибку по умолчанию и исправьте ошибку. Если указан канал, не имеющий класса, все ваше собственное обучение будет включено.

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

    wine debug flags

    Канал, который определяет канал отладки человека, который нужно включить или от которого нужно избавиться. Чтобы увидеть полный список подключенных каналов, просмотрите его с помощью команды поиска в каталоге:

    флаги отладки вина

     grep -r --include означает '*. c '--include =' *. b '' WINE _  (DEFAULT  | DECLARE ) _ DEBUG_CHANNEL 'dll по сравнению с программами /

    И чтобы серьезно поработать, мы позаботились и отформатировали список в BASH (вы можете изменить число 26 в конце этого важного письма, чтобы оно соответствовало вашему вкусу ямочки на щеках):

     в поддержку названий модов в долларах (найти dll / programs / -mindepth довольно много person -type d sort); | делать  echo $ (grep -rE --embody = '*. [ch]' '^ WINE_ (DEFAULT | DECLARE) _DEBUG_CHANNEL' $ mod_name n        | awk -F "[()]" 'печатать? ррр 2 '| сортировать | в одиночестве) n        | awk -v имя_мода равно $ имя_мода 'if (NF> 0) printf ("% - * s% упражнение  n", 26, имя_модуля ":", rr 0)';делал

    Примеры

    WINEDEBUG = предупреждать + все
    описывает сообщения WARN для всех заправочных станций, кроме сообщений ERR, которые уже добавлены, а также сообщения FIXME.
    WINEDEBUG = fixme-all, warn + cursor, + relay
    отключает функции связи FIXME, включает обещания Cursor WARN (в дополнение к FIXME ERR, у которого есть сообщения) и включает все обменные сообщения (вызовы API).
    WINEDEBUG = + перейти
    включает все передачи сообщений. Для большего контроля над включением или отключением функций и библиотек DLL проверьте трассировку перехода в реестре [HKCU Software Wine Debug] (см. Полезные ключи реестра и отличный пример ниже).
    WINEDEBUG равно -d3d
    d3d отключает все сообщения, а также отключает быструю проверку пропусков GL после операций. Это может улучшить производительность.

    Полезные каналы

    • + all : записывает все, в некоторых случаях, вероятно, дает очень много материала, может быть полезно для решения недооцененных проблем.
    • + clump: отслеживайте все кучи активности в рамках одной программы и включайте абсолютно нормальные проверки согласованности. Если ваше приложение традиционно очищает кучу, вы, вероятно, будете использовать + relay, + heap для поиска, чтобы сузить область, где это возникает. Если обнаруживается большая несогласованность, Wine очищает все содержимое кучи, чтобы завершить программу. Хотя многие аспекты могут привести к долгам, наиболее частое переполнение внутреннего буфера происходит из-за Wine. Не забудьте запомнить этот канал; Вся система Wine использует API-интерфейсы HeapAlloc / HeapFree, поэтому одна из основных причин заключается в том, что встроенная куча Wine может быть действительно полезной для отладки. Имейте в виду, что Can + heap может, как черепаха, слишком сильно вырабатывать очень большие файлы журналов. Если вы беспокоитесь, что Wine может полностью повредить кучу, но вы, возможно, не уверены, предупреждение + heap может активировать защиту кучи, но оно не должно отслеживать каждый фрагмент и является полностью бесплатным.
    • + loaddll : Сообщает о каждом Ace, загруженном как DLL.
    • + message : Регистрирует все сообщения, отправленные через порт наблюдения, на маршрут окна, соответствующий + relay. Используйте msg для успешного отслеживания всех API обмена сообщениями.
    • + msgbox : часто встречающаяся тема журналов всех вызовов MessageBox (). Многие программы отображают информацию о сбоях с помощью MessageBox (), которые могут быть быстрым способом собрать эту информацию в удобном для использования виде.
    • + pid: префикс каждой отдельной строки отладочного вывода с идентификатором, связанным с генерируемым действием. Вполне возможно, что это может быть полезно при отладке многопроцессорных приложений.
    • + relay : регистрирует каждый вызов, который занимает больше времени, чем минимум одной конкретной библиотеки DLL модуля шаблонов Web Wine, включая вызовы между библиотеками DLL (неродные). Канал. Часто это первая сдача, когда вы не понимаете, что будет не так. Он показывает вам все электронные письма и выходные данные модулей Wine в библиотеке DLL. Если вы перегружены определенными функциями, проверьте выходные данные компаний RelayInclude и RelayExclude, которые доступны в реестре Wine (в разделе [HKCU Software Wine Debug]). Обратите внимание, что здесь цепочка в значительной степени уже наполнена функциями, которые регулярно маркируются, но обычно не дают никаких указаний на то, почему школа, без сомнения, терпит неудачу. Никогда не нужен + Relay, с другой стороны + Snoop с родными DLL! Это покажет вам реализацию в сочетании с этими библиотеками DLL, а это означает, что практически код, который вы пишете для реализации пользователей, будет нарушать наши рекомендации по обратной архитектуре для чистых помещений. Протоколы
    • + seh : исключения Windows (структурированная обработка пропусков). Они вызываются либо тогда, когда этот элемент находится в очень хорошем состоянии, его приложение выполняет недопустимую операцию (то есть, если основная операция не выполняется), либо когда программа if, возможно, покрывает свои собственные исключения. Преобразует сигналы Wine UNIX в исключения SEH и выводит их через этот конвейер. Это, несомненно, будет полезно, поскольку приложения часто заставляют свои собственные дампы сворачивания один за другим, чтобы добраться до экземпляра. По большей части распространенные исключения, которые следует делать, – это STATUS_ACCESS_VIOLATION и 0xC0000005, что ближе всего к ошибке разделения в Win32. Вы также можете увидеть коды, которые не относятся к заголовкам; Иногда это исключения для конкретного языка, которые не используются ни одним компилятором, используемым для EXE. Например, 0xEEDFADE – это код с созданием внутреннего исключения Delphi, или 0xE06D7363 – это исключение Microsoft Visual C ++ из этого правила, это имеет магическое значение для капитала (info [0]) 0x19930520, что удобно для подумайте, потому что это выглядит как дата (и, возможно, тоже). Если пользователи видят любое из этих отклонений, этот метод может означать, что наиболее важный термин Win32 API вернул лучший ненулевой код где-то с завершениями.
    • + server : отображает все RPC Wineserver. Обычно он вам никогда не понадобится, но, возможно, он может быть полезен при устранении неполадок, связанных с препятствиями в Wineserver.
    • + snoop : действительно регистрирует вызовы функций между собственными DLL. Это похоже на то, как Aber + Relay работает между двумя исходными библиотеками DLL, хотя этот канал предоставляет меньший объем информации, поскольку параметры даже не передаются. + snoop также может причинить боль или дестабилизировать устройство, поскольку он может проверять батарею и иногда анализировать функцию Prolog, чтобы угадать дополнительные параметры. Никогда не используйте + Relay, а затем + Snoop с вашими собственными DLL! Он также показывает вам настройку всех DLL, а это означает, что любой код, который вы пишете для их использования, нарушает наши инструкции по обратному использованию чистых помещений.
    • + синхронно: стимулировать X11 синхронно
    • + timestamp: префикс почти каждого отладочного вывода строкой с почти временной меткой, если эта строка была реализована. Это должно быть критической проблемой производительности отладки.
    • + fps: введите количество структур в секунду в терминале для приложений OpenGL или d3d, Vulkan.

    Дополнительные советы по отладке

    • Если классная программа отображает форму публикации и не работает, поскольку вы не знаете, что вызвало мою ошибку, попробуйте relay, msgbox trace. Затем разверните журнал отладки в своем самом любимом (менее хорошем) редакторе или текстовом клиенте и найдите trace: msgbox. Перед вызовом API MessageBox хорошо просмотрите информацию о реле и факты, хотя вы видите, что проблема может быть не связана с вызовом, который произошел до конкретного сбоя. Помните о ранжированном понимании неудачных вызовов API и, следовательно, помните, что API Windows могут быть минимально согласованными, чтобы возвращать точное удовольствие от вашего кода. Вы просто хотите использовать, чтобы точно узнать, что на самом деле использует каждый API. В то время как массы других возвращают штраф и фактически в случае неудачи, некоторые используют перпендикулярное соглашение; А
    • Если программа не может запуститься без объяснения причины, вы можете использовать красивую трассировку + все. Кроме того, если кажется, что ваша собственная программа хочет воздействовать за пределы вызова API, клиент может попробовать [Disassembly Disassembly], чтобы совершить поездку к ней, когда он обращается к некоторым диапазонам, переданным его точке монтирования во времени (например, Keeper’s Dungeon будет однако сбой, если вы запустите его без правильного пути для argv [0]).

    + Сделать реле менее подробным

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

     number Быстро отпустить grepЯЗЫК = C# Найдите лучшие звонкиfreq = `grep 10 ': Ret haya | sed is /(.*//; s /.* // '| pattern | uniq -c | sort -s | stop | awk' print средства 2 '| tr'; ''Чат ' 012'> quiet.reg << _EOFРЕГЕДИТ4[HKEY_CURRENT_USER  Software  Wine  Debug]«RelayExclude» означает «ntdll.RtlEnterCriticalSection; ntdll.RtlTryEnterCriticalSection; ntdll.RtlLeaveCriticalSection; kernel32.48; kernel32.49; kernel32.94; kernel32.95; kernel32.96Tls32.96el32.973297. Set freq._EOFRegedit quiet.reg вино

    Это говорит Wine не регистрировать десять частых вызовов вашего приложения, что должно сделать ваш собственный журнал реле более управляемым.

    См. также

    • Переменные среды: WINEDEBUG - глава руководства пользователя Wine
    • Документация по WineAPI - используемые каналы отладки могут быть перечислены для каждой отдельной операции.

    <время>

    Программное обеспечение для ремонта ПК находится всего в одном клике — загрузите его прямо сейчас. г.

    г.