Ошибка записи события трассировки в файл

Обновлено: 05.07.2024

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

Накладные расходы, связанные с трассировкой, очень невелики, потому что уровень трассировки конфигурируется только при необходимости.

Архитектура трассировки состоит из четырех основных частей:

Источник (source)

Источник информации трассировки. Вы используете его для отправки трассировочной информации.

Переключатель (switch)

Определяет уровень информации для протоколирования. Например, можно запрашивать только информацию об ошибках или детальную многословную информацию.

Слушатели (listener)

Фильтры (filter)

Источники трассировки

Например, идентификатор 1 может служить для обозначения входа в метод, а 2 — для выхода из метода. Метод TraceEvent() перегружен, поэтому TraceEventType и идентификатор — это единственные обязательные параметры.

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

Переключатели трассировки

Переключатель трассировки можно ассоциировать программно, установив свойство Switch объекта TraceSource. Здесь ассоциированный переключатель типа SourceSwitch имеет имя MyConsoleApplication и уровень Verbose:

Обычно уровень переключателя нужно изменять не перекомпиляцией приложения, а внесением изменений в конфигурацию. Трассировка может быть настроена в элементе <system.diagnostics> конфигурационного файла приложения. Источник трассировки определен элементом <source>, который является дочерним для <sources>. Имя источника в конфигурационном файле должно в точности соответствовать имени источника в коде. Здесь источник трассировки имеет переключатель типа System.Diagnostics.SourceSwitch, ассоциированный с именем MySourceSwitch. Сам переключатель определен в разделе <swithes> и уровень переключателя установлен в verbose:

Теперь можно изменить уровень трассировки, просто изменяя конфигурационный файл, без необходимости перекомпиляции кода. После изменения конфигурационного файла приложение должно быть перезапущено.

Слушатели трассировки

Слушатель EventProviderTraceListener использует формат файла событий, который появился в Windows Vista. Можно также комбинировать веб-трассировку с трассировкой System.Diagnostics и записывать сведения в файл trace.axd.

Слушатель трассировки можно сконфигурировать программно, создав объект слушателя и присвоив его свойству Listeners класса TraceSource. Однако обычно намного интереснее просто изменить конфигурацию, чтобы определить другой слушатель.

Слушатели можно сконфигурировать как дочерние элементы элемента <source>. В этом случае определяется тип класса слушателя и с помощью initializeData указывается направление вывода слушателя. В показанной ниже конфигурации определяются слушатели XmlWriterTraceListener для записи в файл demotrace.xml и DelimitedListTraceListener для записи в файл demotrace.txt:

С таким слушателем можно указывать дополнительную информацию, которая должна быть записана в журнал трассировки. Эта информация задается в XML-атрибуте traceOutputOptions и определена перечислением TraceOptions. Доступными значениями перечисления являются Callstack, DateTime, LogicalOperationStack, ProcessId, Threadld и None. В XML-атрибут traceOutputOptions можно добавлять сразу несколько необходимых значений, разделяя их запятыми, как в слушателе delimitedListener из предыдущего примера.

Если вы столкнетесь с синим экраном смерти при отслеживании событий, не беспокойтесь. Обычно это совсем не сложно решить .

Если вы столкнетесь с Неустранимая ошибка отслеживания событий синий экран смерти, не волнуйтесь. Обычно это совсем не сложно решить .

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

  1. Запустите SFC и DISM
  2. Обновите драйверы вашего устройства
  3. Отключить безопасную загрузку и проверку целостности драйверов
  4. Аппаратный сброс вашего ПК

Исправление 1: Запустите SFC и DISM

Иногда этот синий экран ошибки смерти может возникать, если на вашем компьютере есть поврежденные или отсутствующие системные файлы. К счастью, Windows поставляется с удобными системными инструментами System File Checker (SFC) и DISM (Обслуживание образов развертывания и управление ими), которые помогут вам сканировать вашу систему на наличие ошибок и исправлять их, если это так.

Вот как запустить проверку системных файлов:

  1. На клавиатуре нажмите Windows logo keyи введите cmd . Затем щелкните правой кнопкой мыши на Командная строка и нажмите Запустить от имени администратора .
  2. Нажмите да когда вам будет предложено подтвердить.
  3. В окне командной строки введите sfc / scannow и нажмите Войти .
    SFC потребуется некоторое время, чтобы заменить поврежденные системные файлы новыми, если они обнаружатся, поэтому проявите терпение.
  4. Перезагрузите компьютер, чтобы изменения вступили в силу.

Вот как запустить DISM :

  1. На клавиатуре нажмите Windows logo key и введите cmd . Затем щелкните правой кнопкой мыши на Командная строка и нажмите Запустить от имени администратора .
  2. Тип следующая команда и нажмите Войти : DISM.exe / Онлайн / Очистить-образ / Восстановить здоровье .

    Подождите, пока весь процесс завершится.
  3. Перезагрузите компьютер, чтобы изменения вступили в силу.

Исправление 2: обновите драйверы вашего устройства

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

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

Вы можете автоматически обновлять драйверы с помощью СВОБОДНЫЙ или Pro версия Pro версия Pro версия Driver Easy. Но с версией Pro требуется всего 2 шага (и вы получаете полную поддержку и 30-дневную гарантию возврата денег):

Исправление 3: Отключить безопасную загрузку и проверки целостности драйверов

Вот шаги, как отключить безопасную загрузку:

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

  1. На клавиатуре нажмите Windows logo key и щелкните Настройки икона.
  2. На левой панели щелкните Восстановление . Затем в расширенном запуске нажмите Перезагрузить сейчас .
  3. в Выберите опцию экран, щелкните Устранение неполадок .
  4. Выбрать Расширенные настройки .
  5. Нажмите Настройки прошивки UEFI , затем щелкните Рестарт кнопка.
  6. Подождите, пока ваша система рестарт и вы войдете в UEFI BIOS экран.
  7. Использовать клавиши со стрелками перейти к Безопасная загрузка (можно найти на Безопасность , то Загрузки или Аутентификация вкладка). Затем выберите его значение, чтобы Отключить .
  8. Сохранить изменения и выйти.

Вот шаги, как отключить проверку целостности драйверов:

Исправление 4: полный сброс компьютера

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

Вот более подробные инструкции, как это сделать:

  1. Нажмите и удерживайте кнопка питания компьютера, пока он не выключится.
  2. Отключите силовой кабель и аккумулятор (если есть) с вашего компьютера.
  3. Оставьте свой компьютер на время 1 минута .
  4. Повторно подключите силовой кабель (и аккумулятор ) на свой компьютер.
  5. Включите ваш компьютер.

Надеюсь, проблема с синим экраном с фатальной ошибкой отслеживания событий решена.

Это оно! Надеюсь, этот пост направил вас в правильном направлении в решении проблемы с синим экраном с фатальной ошибкой отслеживания событий. Если у вас есть идеи, предложения или вопросы, не стесняйтесь, дайте нам знать в комментариях. Спасибо за прочтение!

Что такое sxstrace.exe

Sxstrace.exe – это исполнительный файл служебной утилиты SxSTrace от Microsoft, использующейся для диагностики системных компонентов (манифестов). Посредством инструмента трассировки можно выявить проблемный элемент, который спровоцировал ошибку при старте приложения. Чтобы воспользоваться штатной утилитой Windows, достаточно обладать минимальными пользовательскими навыками работы с командной строкой.

Причины ошибок в файле sxstrace.exe

Ошибка «Не удалось запустить приложение, поскольку его параллельная конфигурация неправильна…»

Ошибка может быть спровоцирована такими факторами:

  • Отсутствуют или повреждены файлы, обеспечивающие старт и работу программ.
  • Ошибки записей реестра, повреждённые ключи.
  • Конфликты установленного программного обеспечения.
  • Вирусы, вредоносные программы.
  • Повреждённая или неполная установка ПО Microsoft.

Способы исправления ошибки sxstrace.exe

Методов, как устранить ошибку, возникающую в Windows 7, 8 или 10, несколько. Эффективность каждого из них напрямую зависит от провоцирующего фактора, который можно выявить путём просмотра логов. Если же лог-файл (журнал с записями о событиях) не поведал о природе сбоя, решать проблему можно, начиная с устранения самых распространённых причин.

Установка Microsoft Visual C++

  • Открываем Панель управления любым удобным способом (например, используя контекстное меню «Пуск»), идём в раздел «Программы и компоненты». Альтернативный вариант открыть окно удаления и изменения программ – использование консоли «Выполнить» (Win+R) и команды appwiz.cpl.
  • Находим в списке софт Microsoft Visual C++ и деинсталлируем с кнопки «Удалить», затем перезагружаем устройство.
  • Теперь нужно скачать дистрибутивы со страницы официального ресурса Microsoft, и установить пакеты. Для 64х- битных систем ставим версии компонентов х64 и х86, а для 32-разрядных – только версию х86. Посмотреть разрядность можно в свойствах системы.

Иногда может потребоваться переустановить компоненты Microsoft Visual C++ 2005, если речь идёт о старых программах или играх.

Удаление вирусов

Утилита AdwCleaner

Очистка ПК

Обновление драйверов

Нередко проблема может быть связана с неактуальными драйверами устройств, в частности драйверами видеокарты и звуковой карты. Обновить их можно, обратившись к «Диспетчеру устройств» (оснастку можно открыть разными способами, например, из контекстного меню «Пуск» или, используя клавиши Win+Pause Break и выбрав из меню слева «Диспетчер устройств»).

Обновление драйверов

В списке установленного на компьютере оборудования открываем «Видеоадаптеры» и обновляем драйверы для выбранной видеокарты (из контекстного меню выбираем опцию обновления или переходим к свойствам двойным щелчком мыши, на вкладке «Драйвер» жмём кнопку «Обновить» и выбираем способ обновления). Аналогичным образом поступаем и, развернув «Звуковые, игровые и видеоустройства». Для облегчения задачи и автоматизации процесса лучше воспользоваться специальными инструментами для обновления драйверов.

Проверка и восстановление компонентов системной утилитой SFC

Служебную утилиту System File Checker используют для исправления всевозможных сбоев операционной системы. В ряде случаев помогает она и в устранении рассматриваемой ошибки. Способ подходит как для Windows 10, так и любой другой версии. Системный инструмент запускается с командной строки на правах администратора, в ходе сканирования SFC определяет повреждённые элементы и восстанавливает их, если это возможно. Чтобы выполнить процедуру, поступаем следующим образом:

Команда sfc /scannow

  • Запускаем командную строку (жмём ПКМ на кнопке «Пуск» и выбираем «Командная строка (администратор)» или используем консоль «Выполнить» для запуска терминала).
  • Вводим команду sfc /scannow и жмём клавишу Enter.
  • Ждём, пока утилита не завершит процесс, это может занять некоторое время.

В результате проверки и восстановления повреждённых компонентов (выполняется в автоматическом режиме) будет сформирован отчёт, информирующий пользователя о проделанной работе.

Восстановление системы

Если на компьютере есть сохранённые точки восстановления системы, можно выполнить восстановление Windows 10, 8 или 7, вернувшись к контрольной точке системы. Это позволит откатить изменения, повлёкшие за собой ошибку и вернуться в тот момент, когда проблемы ещё не существовало (не повлияет на пользовательские данные). Выполнить процедуру можно следующим образом:

Окно «Защита системы»

  • Идём в свойства системы, для чего переходим в «Панель управления», раздел «Система», в меню слева выбираем «Защита системы». Это же окно свойств открыть можно, нажав ПКМ на ярлыке «Этот компьютер» («Мой компьютер») и выбрав «Свойства», а затем в меню слева «Защита системы».
  • Здесь нужно выбрать вариант запуска восстановления системы, затем нажать «Далее» и выбрать из перечня конфигурацию, к которой нужно вернуться, после чего запустить процесс кнопкой «Готово».

Способ хорош, но применяется только при наличии ранее созданных точек восстановления.

Исправление ошибок реестра вручную

Описанные способы помогают устранить ошибку неправильной параллельной конфигурации в каждом отдельном случае с учётом источника проблемы. После выполнения манипуляций вы сможете беспрепятственно запускать интересующие программы.

когда я запускаю приложение для Android на эмуляторе. Может ли кто-нибудь сказать мне, что может быть причиной этого?

Я использую android-sdk-20 и ниже строки добавляются в AndroidManifest.xml

Я также добавил строку:

так как я думал, что может возникнуть проблема с записью на SD-карту.

ОТВЕТЫ

Ответ 1

Это происходит потому, что вы не установили minSdkVersion или targetSdkVersion на свой компьютер. Я протестировал его прямо сейчас.

Например, если у вас есть эти строки в вашем манифесте .xml:

И вы установили только API17 на свой компьютер, он сообщит вам об ошибке. Если вы хотите протестировать его, попробуйте установить другую версию API (в данном случае API 8).

Тем не менее, это не важная ошибка. Это не значит, что ваше приложение ошибочно.

Извините за мое выражение. Английский язык не мой. Bye!

Ответ 2

Я думаю, что это проблема

Немного фона

Traceview - это графическое средство просмотра журналов выполнения, созданных с помощью класса Debug для записи информации о трассировке в вашем коде. Traceview может помочь вам отладить ваше приложение и профилировать его производительность. Включение этого файла создает файл .trace в корневой папке sdcard, который затем может быть извлечен ADB и обработан файлом batview traceview для обработки. Он также может быть добавлен DDMS.

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

Как включить его:

  • Включите класс Debug в свой код и вызовите его методы, такие как startMethodTracing() и stopMethodTracing() , для запуска и остановки запись информации трассировки на диск. Эта опция очень точная потому что вы можете точно указать, с чего начать и прекратить протоколирование трассировки данных в вашем коде.

  • Используйте функцию профилирования методов DDMS для генерации журналов трассировки. Эта опция менее точная, потому что вы не изменяете код, а скорее указать, когда запускать и останавливать ведение журнала с помощью DDMS. Хотя у вас есть меньше контроля над тем, где начинается и останавливается ведение журнала, эта опция полезно, если у вас нет доступа к коду приложения, или если вы не нужно точное время регистрации.

Но для вышеуказанного

существуют следующие ограничения:

Если вы используете класс Debug, ваше приложение должно иметь разрешение на запись на внешнее хранилище ( WRITE_EXTERNAL_STORAGE ).

Если вы используете DDMS: Android 2.1 и более ранние устройства должны иметь SD карты, и ваша заявка должна иметь разрешение на запись в SD Card. Android 2.2 и более поздние устройства не нуждаются в SD-карте. файлы журнала трассировки передаются непосредственно на вашу машину разработки.

Таким образом, по существу доступ к traceFile требует двух вещей

1.) Разрешение написать файл журнала трассировки, т.е. WRITE_EXTERNAL_STORAGE и READ_EXTERNAL_STORAGE для хорошей оценки

2.) Эмулятор с SDCard с достаточным пространством. Документ не говорит, что если это только для DDMS, но также и для отладки, поэтому я предполагаю, что это также верно для отладки через приложение.

Что мне делать с этой ошибкой:

Теперь ошибка, по сути, является изъятием либо отсутствия пути sdcard для создания файла трассировки, либо отсутствия разрешения на его доступ. Это старый поток, но разработчик за щедростью, проверьте, соответствуют ли эти две предпосылки. Затем вы можете найти файл .trace в папке sdcard в своем эмуляторе. Если он существует, он не должен давать вам эту проблему, если он не пытается создать его, добавив startMethodTracing в ваше приложение.
Я не уверен, почему он автоматически ищет этот файл, когда записывает журнал. Я думаю, что когда происходит событие ошибки/журнала, регистратор внутренне пытается записать в файл трассировки и не находит его, и в этом случае он выдает ошибку. Просматривая документы, я не нахожу слишком много ссылок на то, почему это происходит автоматически. Но в целом это не влияет на вас напрямую, вы должны проверить прямые журналы/ошибки приложения. Кроме того, в отличие от Android 2.2 и более поздних устройств не требуется SD-карта для ведения журнала DDMS. Файлы журнала трассировки передаются непосредственно на вашу машину разработки.

Дополнительная информация о Traceview:

Копирование файлов трассировки на хост-машину

После запуска приложения и система создала ваши файлы трассировки .trace on устройства или эмулятора, вы должны скопировать эти файлы в свою разработку компьютер. Вы можете использовать adb pull для копирования файлов. Вот пример который показывает, как скопировать файл примера calc.trace из значения по умолчанию расположение эмулятора в каталоге /tmp на хосте эмулятора машина:

adb pull/sdcard/calc.trace/tmp Просмотр файлов трассировки в Traceview To запустите Traceview и просмотрите файлы трассировки, введите traceview, Например, чтобы запустить Traceview в файлах примеров скопированный в предыдущем разделе, используйте:

traceview/tmp/calc Примечание. Если вы пытаетесь просмотреть журналы трассировки приложение, которое встроено в ProGuard (режим выпуска build), некоторые методы и имена членов могут быть запутаны. Вы можете использовать файл proguard mapping.txt, чтобы выяснить исходный unobfuscated имена. Для получения дополнительной информации об этом файле см. Proguard документация.

Ответ 3

Попробуйте удалить файл формы uses-sdk AndroidManifest.xml . это сработало для меня!

Не используйте Android Virtual Device с слишком низкой конфигурацией. Пусть он будет средним.

Ответ 4

Запишите все свои коды под этими двумя строками: -

Он работал у меня без повторной установки снова.

Ответ 5

Я не хотел переустанавливать все, потому что у меня так много версий SDK, и моя среда разработки настроена правильно. При повторном подключении он занимает слишком много времени.

Что сработало для меня, так это удаление, а затем повторное создание Android Virtual Device, конечно же, чтобы установить значение для SD Card Size (я использовал 200 MiB).

screenshot of the AVD creation screen

Дополнительная информация:

в то время как вышеупомянутое исправляет проблему временно, оно повторяется. Я просто попробовал свое приложение в Android Studio и увидел это в журнале вывода, который я раньше не заметил в Eclipse:

Ответ 6

Читайте также: