Ошибка записи события трассировки в файл
когда я запускаю приложение для Android на эмуляторе. Может ли кто-нибудь сказать мне, что может быть причиной этого?
Я использую android-sdk-20 и ниже строки добавляются в AndroidManifest.xml
Я также добавил строку:
так как я думал, что может возникнуть проблема с записью на SD-карту.
Способы исправления ошибки sxstrace.exe
Методов, как устранить ошибку, возникающую в Windows 7, 8 или 10, несколько. Эффективность каждого из них напрямую зависит от провоцирующего фактора, который можно выявить путём просмотра логов. Если же лог-файл (журнал с записями о событиях) не поведал о природе сбоя, решать проблему можно, начиная с устранения самых распространённых причин.
Дополнительная информация:
в то время как вышеупомянутое исправляет проблему временно, оно повторяется. Я просто попробовал свое приложение в Android Studio и увидел это в журнале вывода, который я раньше не заметил в Eclipse:
Ответ 6
Ответ 7
На самом деле проблема заключается в том, что либо /sys/kernel/debug не монтируется, либо что запущенное ядро не имеет трассировщиков ftrace, скомпилированных таким образом, что /sys/kernel/debug/tracing недоступен. Это код, выдающий ошибку ( platform_frameworks_native/libs/utils/Trace.cpp ):
Обновление драйверов
Нередко проблема может быть связана с неактуальными драйверами устройств, в частности драйверами видеокарты и звуковой карты. Обновить их можно, обратившись к «Диспетчеру устройств» (оснастку можно открыть разными способами, например, из контекстного меню «Пуск» или, используя клавиши Win+Pause Break и выбрав из меню слева «Диспетчер устройств»).
В списке установленного на компьютере оборудования открываем «Видеоадаптеры» и обновляем драйверы для выбранной видеокарты (из контекстного меню выбираем опцию обновления или переходим к свойствам двойным щелчком мыши, на вкладке «Драйвер» жмём кнопку «Обновить» и выбираем способ обновления). Аналогичным образом поступаем и, развернув «Звуковые, игровые и видеоустройства». Для облегчения задачи и автоматизации процесса лучше воспользоваться специальными инструментами для обновления драйверов.
Часто задаваемые вопросы о захвате трассировки
Ниже приведены некоторые часто задаваемые вопросы о захвате трассировки в ДЕА.
Вопрос. какие события фиксируются при выполнении записи трассировки в рабочей базе данных?
В следующей таблице перечислены события и соответствующие данные столбцов, которые ДЕА собирает для трассировок.
Название мероприятия | Текстовые данные (1) | Двоичные данные (2) | Идентификатор базы данных (3) | Имя узла (8) | Имя приложения (10) | Имя для входа (11) | SPID (12) | Время начала (14) | Время окончания (15) | Имя базы данных (35) | Последовательность событий (51) | Система (60) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
RPC: завершено (10) | * | * | * | * | * | * | * | * | * | * | * | |
RPC: запуск (11) | * | * | * | * | * | * | * | * | * | * | ||
Выходной параметр RPC (100) | * | * | * | * | * | * | * | * | * | * | ||
SQL: BatchCompleted (12) | * | * | * | * | * | * | * | * | * | * | * | |
SQL: BatchStarting (13) | * | * | * | * | * | * | * | * | * | * | ||
Имя входа аудита (14) | * | * | * | * | * | * | * | * | * | * | * | |
Аудит выхода (15) | * | * | * | * | * | * | * | * | * | * | * | |
ExistingConnection (17) | * | * | * | * | * | * | * | * | * | * | * | |
CursorOpen (53) | * | * | * | * | * | * | * | * | * | * | ||
CursorPrepare (70) | * | * | * | * | * | * | * | * | * | * | ||
подготовка SQL (71) | * | * | * | * | * | * | * | * | * | |||
Exec Prepared SQL (72) | * | * | * | * | * | * | * | * | * | |||
CursorExecute (74) | * | * | * | * | * | * | * | * | * | * | ||
CursorUnprepare (77) | * | * | * | * | * | * | * | * | * | * | ||
CursorClose (78) | * | * | * | * | * | * | * | * | * | * |
Вопрос. влияет ли производительность на рабочем сервере при выполнении отслеживания трассировки?
Да, во время сбора трассировки имеется минимальный результат производительности. В наших тестах мы обнаружили нехватку памяти в 3%.
Вопрос. какие разрешения требуются для отслеживания трассировок в рабочей нагрузке?
- Windows пользователь, запускающий операцию трассировки в приложении деа, должен иметь права системного администратора на компьютере, на котором выполняется SQL Server.
- учетная запись службы, используемая на компьютере, на котором работает SQL Server, должна иметь доступ на запись к указанному пути файла трассировки.
Вопрос. можно ли записывать трассировки для всего сервера или только для одной базы данных?
ДЕА можно использовать для захвата трассировок для всех баз данных на сервере или для отдельной базы данных.
Вопрос. у меня есть связанный сервер, настроенный в рабочей среде. Отображаются ли эти запросы в трассировках?
Если вы запускаете трассировку трассировки для всего сервера, Трассировка захватывает все запросы, включая запросы связанных серверов. Чтобы запустить запись трассировки для всего сервера, оставьте поле имя базы данных в разделе Новая запись пустой.
Вопрос. Каково минимальное рекомендуемое время для трассировок рабочей нагрузки в рабочей нагрузке?
Рекомендуется выбрать время, которое лучше всего соответствует всей рабочей нагрузке. Таким образом, анализ выполняется для всех запросов в рабочей нагрузке.
Вопрос. насколько важно сделать резервную копию базы данных непосредственно перед началом записи трассировки?
Прежде чем начать запись трассировки, убедитесь, что вы создаете резервные копии всех целевых баз данных. Захваченная трассировка в целевом объекте 1 и целевом объекте 2 воспроизводится. Если состояние базы данных не совпадает, результаты эксперимента будут отклонены.
Вопрос. можно ли получить XEvents вместо трассировок и можно ли воспроизвести XEvents?
Да. ДЕА поддерживает XEvents. Скачайте последнюю версию ДЕА и придайте ей попытку.
Установка Microsoft Visual C++
- Открываем Панель управления любым удобным способом (например, используя контекстное меню «Пуск»), идём в раздел «Программы и компоненты». Альтернативный вариант открыть окно удаления и изменения программ – использование консоли «Выполнить» (Win+R) и команды appwiz.cpl.
- Находим в списке софт Microsoft Visual C++ и деинсталлируем с кнопки «Удалить», затем перезагружаем устройство.
- Теперь нужно скачать дистрибутивы со страницы официального ресурса Microsoft, и установить пакеты. Для 64х- битных систем ставим версии компонентов х64 и х86, а для 32-разрядных – только версию х86. Посмотреть разрядность можно в свойствах системы.
Иногда может потребоваться переустановить компоненты Microsoft Visual C++ 2005, если речь идёт о старых программах или играх.
Исправление ошибок реестра вручную
Описанные способы помогают устранить ошибку неправильной параллельной конфигурации в каждом отдельном случае с учётом источника проблемы. После выполнения манипуляций вы сможете беспрепятственно запускать интересующие программы.
когда я запускаю свое приложение для Android на эмуляторе. Может ли кто-нибудь сказать мне, что может быть возможной причиной этого?
Я использую android-sdk-20, и в AndroidManifest.xml добавляются следующие строки.
Я также добавил строку:
так как я думал, что могут быть проблемы с записью на SD-карту.
Ваше решение не охватывает Криса. В моем случае нет строк, которые следуют! Все, что я получаю в Logcat, это «ошибка при открытии файла трассировки: нет такого файла или каталога (2)»
Это происходит потому, что вы не установили minSdkVersion или targetSdkVersion на свой компьютер. Я протестировал это прямо сейчас.
Например, если в вашем файле Manifest.xml есть следующие строки:
И вы установили на свой компьютер только API17, он сообщит вам об ошибке. Если вы хотите протестировать его, попробуйте установить другую версию API (в данном случае API 8).
Тем не менее, это не важная ошибка. Это не значит, что ваше приложение неправильное.
Извините за мое выражение. Английский не мой язык. До свидания!
я думаю в этом проблема
Немного предыстории
Traceview — это графическое средство просмотра журналов выполнения, которые вы создаете с помощью класса Debug для регистрации информации трассировки в своем коде. Traceview может помочь вам отладить ваше приложение и профилировать его производительность. Включение этого создает .trace файл в корневой папке SD-карты, который затем может быть извлечен ADB и обработан файлом bat для обработки. Он также может быть добавлен DDMS.
Это система, используемая внутри регистратора. В общем, если вы не используете traceview для извлечения файла трассировки, эта ошибка не должна вас беспокоить. Вы должны смотреть на ошибки/журналы, непосредственно связанные с вашим приложением.
Как мне включить это:
Include the Debug class in your code and call its methods such as startMethodTracing() and stopMethodTracing() , to start and stop logging of trace information to disk. This option is very precise because you can specify exactly where to start and stop logging trace data in your code.
Use the method profiling feature of DDMS to generate trace logs. This option is less precise because you do not modify code, but rather specify when to start and stop logging with DDMS. Although you have less control on exactly where logging starts and stops, this option is useful if you don't have access to the application's code, or if you do not need precise log timing.
Но для вышеуказанного существуют следующие ограничения
If you are using the Debug class, your application must have permission to write to external storage ( WRITE_EXTERNAL_STORAGE ).
If you are using DDMS: Android 2.1 and earlier devices must have an SD card present and your application must have permission to write to the SD card. Android 2.2 and later devices do not need an SD card. The trace log files are streamed directly to your development machine.
Таким образом, доступ к traceFile требует двух вещей:
1.) Permission to write a trace log file i.e. WRITE_EXTERNAL_STORAGE and READ_EXTERNAL_STORAGE for good measure
2.) An emulator with an SDCard attached with sufficient space. The doc doesnt say if this is only for DDMS but also for debug, so I am assuming this is also true for debugging via the application.
Что мне делать с этой ошибкой:
Теперь ошибка, по сути, связана с отсутствием пути к SD-карте для создания файла трассировки или отсутствием разрешения на доступ к нему. Это старая ветка, но разработчик, стоящий за наградой, проверьте, соблюдаются ли два предварительных условия. Затем вы можете найти .trace файл в папке SD-карты в вашем эмуляторе. Если он существует, он не должен доставлять вам эту проблему, если он не пытается создать ее, добавив в startMethodTracing ваше приложение.
Я не уверен, почему он автоматически ищет этот файл, когда запускается регистратор. Я думаю, что когда происходит событие ошибки/журнала, регистратор внутренне пытается записать в файл трассировки и не находит его, и в этом случае он выдает ошибку .Изучив документацию, я не нашел слишком много ссылок на то, почему это включается автоматически. Но в целом это не влияет на вас напрямую, вы должны проверять логи/ошибки приложений напрямую. Кроме того, для устройств Android 2.2 и более поздних версий не требуется SD-карта для ведения журнала трассировки DDMS. Файлы журнала трассировки передаются непосредственно на ваш компьютер для разработки.
Дополнительная информация о Traceview:
Copying Trace Files to a Host Machine
After your application has run and the system has created your trace files .trace on a device or emulator, you must copy those files to your development computer. You can use adb pull to copy the files. Here's an example that shows how to copy an example file, calc.trace, from the default location on the emulator to the /tmp directory on the emulator host machine:
adb pull /sdcard/calc.trace /tmp Viewing Trace Files in Traceview To run Traceview and view the trace files, enter traceview . For example, to run Traceview on the example files copied in the previous section, use:
traceview /tmp/calc Note: If you are trying to view the trace logs of an application that is built with ProGuard enabled (release mode build), some method and member names might be obfuscated. You can use the Proguard mapping.txt file to figure out the original unobfuscated names. For more information on this file, see the Proguard documentation.
когда я запускаю свое приложение для Android на эмуляторе. Может кто-нибудь подскажет, в чем может быть возможная причина этого?
Я использую android-sdk-20, и в AndroidManifest.xml добавлены строки ниже
Я также добавил строку:
так как я подумал, что может быть какая-то проблема с записью на sd-карту.
Ваше решение не охватывает Криса. В моем случае нет следующих строк! Все, что я получаю в Logcat, это «ошибка при открытии файла трассировки: нет такого файла или каталога (2)»
Это происходит из-за того, что вы не установили minSdkVersion или targetSdkVersion на своем компьютере. Я тестировал прямо сейчас.
Например, если у вас есть эти строки в вашем Manifest.xml:
И вы установили на свой компьютер только API17, он сообщит вам об ошибке. Если вы хотите протестировать его, попробуйте установить другую версию API (в данном случае API 8).
Тем не менее, это не важная ошибка. Это не значит, что ваше приложение неправильное.
Извините за выражение моего лица. Английский не мой язык. До свидания!
Я думаю в этом проблема
Немного предыстории
Traceview - это графическое средство просмотра журналов выполнения, которые вы создаете с помощью класса Debug для регистрации информации трассировки в вашем коде. Traceview может помочь вам отладить приложение и профилировать его производительность. При его включении .trace в корневой папке SDCard создается файл, который затем может быть извлечен ADB и обработан файлом bat traceview для обработки. Он также может быть добавлен DDMS.
Это система, используемая самим регистратором. В общем, если вы не используете traceview для извлечения файла трассировки, эта ошибка не должна вас беспокоить. Вы должны смотреть на ошибки / журналы, непосредственно связанные с вашим приложением.
Как мне его включить:
Include the Debug class in your code and call its methods such as startMethodTracing() and stopMethodTracing() , to start and stop logging of trace information to disk. This option is very precise because you can specify exactly where to start and stop logging trace data in your code.
Use the method profiling feature of DDMS to generate trace logs. This option is less precise because you do not modify code, but rather specify when to start and stop logging with DDMS. Although you have less control on exactly where logging starts and stops, this option is useful if you don't have access to the application's code, or if you do not need precise log timing.
Но для указанных выше ограничений существуют следующие ограничения.
If you are using the Debug class, your application must have permission to write to external storage ( WRITE_EXTERNAL_STORAGE ).
If you are using DDMS: Android 2.1 and earlier devices must have an SD card present and your application must have permission to write to the SD card. Android 2.2 and later devices do not need an SD card. The trace log files are streamed directly to your development machine.
По сути, для доступа к traceFile требуются две вещи
1.) Permission to write a trace log file i.e. WRITE_EXTERNAL_STORAGE and READ_EXTERNAL_STORAGE for good measure
2.) An emulator with an SDCard attached with sufficient space. The doc doesnt say if this is only for DDMS but also for debug, so I am assuming this is also true for debugging via the application.
Что мне делать с этой ошибкой:
Теперь ошибка, по сути, связана с отсутствием пути к SD-карте для создания файла трассировки или отсутствием разрешения на доступ к нему. Это старый поток, но разработчик, стоящий за наградой, должен проверить, соответствуют ли два предварительных условия. Затем вы можете найти .trace файл в папке SDCard в вашем эмуляторе. Если он существует, это не должно вызывать у вас этой проблемы, если он не пытается создать его, добавив в startMethodTracing ваше приложение.
Я не уверен, почему он автоматически ищет этот файл, когда срабатывает регистратор. Я думаю, когда происходит событие ошибки / журнала, регистратор внутренне пытается записать в файл трассировки и не находит его, и в этом случае он выдает ошибку .Просмотрев документацию, я не нашел слишком много ссылок на то, почему это автоматически включается. Но в целом это не влияет на вас напрямую, вам следует напрямую проверять логи / ошибки приложения. Кроме того, помимо Android 2.2 и более поздних версий устройствам не требуется SD-карта для ведения журнала трассировки DDMS. Файлы журнала трассировки передаются прямо на ваш компьютер для разработки.
Дополнительная информация о Traceview:
Copying Trace Files to a Host Machine
After your application has run and the system has created your trace files .trace on a device or emulator, you must copy those files to your development computer. You can use adb pull to copy the files. Here's an example that shows how to copy an example file, calc.trace, from the default location on the emulator to the /tmp directory on the emulator host machine:
adb pull /sdcard/calc.trace /tmp Viewing Trace Files in Traceview To run Traceview and view the trace files, enter traceview . For example, to run Traceview on the example files copied in the previous section, use:
traceview /tmp/calc Note: If you are trying to view the trace logs of an application that is built with ProGuard enabled (release mode build), some method and member names might be obfuscated. You can use the Proguard mapping.txt file to figure out the original unobfuscated names. For more information on this file, see the Proguard documentation.
Database Experimentation Assistant (деа) можно использовать для создания файла трассировки с журналом перехваченных событий сервера. Перехваченное событие сервера — это событие, возникающее на определенном сервере за определенный период времени. Запись трассировки должна выполняться один раз для каждого сервера.
Прежде чем начать запись трассировки, убедитесь, что резервное копирование всех целевых баз данных выполнено.
кэширование запросов в SQL Server может повлиять на результаты оценки. рекомендуется перезапустить службу SQL Server (MSSQLSERVER) в приложении "службы", чтобы повысить согласованность результатов оценки.
Устранение неполадок при захватах трассировки
- имя компьютера, на котором работает SQL Server, является допустимым. для подтверждения попробуйте подключиться к компьютеру, на котором работает SQL Server, с помощью SQL Server Management Studio (SSMS).
- Конфигурация брандмауэра не блокирует подключения к компьютеру, на котором работает SQL Server.
- Пользователь имеет разрешения, перечисленные в разделе часто задаваемые вопросы о воспроизведении.
- Имя трассировки не соответствует стандартному соглашению о смене ключей (захват _ 1). Вместо этого попробуйте использовать такие имена трассировок, как Capture _ 1A или Capture1.
Ниже приведены некоторые возможные ошибки, которые могут возникнуть, и способы их устранения.
Возможные ошибки | Решение |
---|---|
не удалось запустить трассировку на целевом SQL Server, проверьте наличие необходимых разрешений и убедитесь, что учетная запись SQL Server имеет доступ на запись к указанному пути файла трассировки код ошибки SQL (53) | Пользователь, запускающий средство Деа, должен иметь доступ к компьютеру, на котором работает SQL Server. Пользователю должна быть назначена роль sysadmin. |
не удалось запустить трассировку на целевом SQL Server, проверьте наличие необходимых разрешений и убедитесь, что учетная запись SQL Server имеет доступ на запись к указанному пути файла трассировки код ошибки SQL (19062) | указанный путь трассировки может не существовать, или папка не имеет разрешений на запись для учетной записи, от имени которой работают службы SQL Server (например, сетевая служба). Путь должен существовать и должен иметь необходимые разрешения для запуска трассировки. |
Сейчас на целевом сервере выполняется трассировка ДЕА. | Активная трассировка уже запущена на целевом сервере. Вы не можете начать новую трассировку, если уже выполняется трассировка на уровне сервера. |
Не удается открыть запрошенную базу данных для записи трассировки. Эта ошибка может быть вызвана неверным именем базы данных. | Указанная база данных не существует или недоступна текущему пользователю. Используйте правильное имя базы данных. |
если вы видите другие ошибки с меткой " код ошибки Sql", см. раздел ядро СУБД errors for detailed descriptions.
Восстановление системы
Если на компьютере есть сохранённые точки восстановления системы, можно выполнить восстановление Windows 10, 8 или 7, вернувшись к контрольной точке системы. Это позволит откатить изменения, повлёкшие за собой ошибку и вернуться в тот момент, когда проблемы ещё не существовало (не повлияет на пользовательские данные). Выполнить процедуру можно следующим образом:
- Идём в свойства системы, для чего переходим в «Панель управления», раздел «Система», в меню слева выбираем «Защита системы». Это же окно свойств открыть можно, нажав ПКМ на ярлыке «Этот компьютер» («Мой компьютер») и выбрав «Свойства», а затем в меню слева «Защита системы».
- Здесь нужно выбрать вариант запуска восстановления системы, затем нажать «Далее» и выбрать из перечня конфигурацию, к которой нужно вернуться, после чего запустить процесс кнопкой «Готово».
Способ хорош, но применяется только при наличии ранее созданных точек восстановления.
Настройка отслеживания трассировки
В ДЕА на панели навигации слева щелкните значок камеры, а затем на странице все записи выберите создать запись.
На странице Новая запись в разделе сведения о захвате введите или выберите следующие сведения.
Имя записи: введите имя файла трассировки для записи.
Формат: укажите формат (Trace или XEvents) для записи.
Длительность: выберите период времени (в минутах), в течение которого должна выполняться запись трассировки.
Расположение для записи: выберите путь назначения для файла трассировки.
Путь к файлу трассировки должен находиться на компьютере, на котором работает SQL Server. если служба SQL Server не задана для конкретной учетной записи, для записи файла трассировки службе могут потребоваться разрешения на запись в указанную папку.
Убедитесь, что вы выполнили резервное копирование, выбрав Да, я вручную затратил резервную копию. .
В разделе сведения о записи введите или выберите следующие сведения.
- тип сервера. укажите тип SQLного сервера (SqlServer, азуресклдб, азуресклманажединстанце).
- Имя сервера: укажите имя или IP-адрес сервера SQL Server.
- Тип проверки подлинности. Выберите Windows в качестве типа проверки подлинности.
- Имя базы данных: введите имя базы данных, в которой должна начаться трассировка базы данных. Если не указать базу данных, трассировка будет захвачена во всех базах данных на сервере.
Установите или снимите флажки Шифровать соединение и доверять сертификату сервера в соответствии с вашими сценариями.
Начать запись трассировки
После ввода или выбора требуемой информации выберите Запуск , чтобы начать запись трассировки.
Если введенная информация действительна, начнется процесс отслеживания трассировки. В противном случае текстовые поля с недопустимыми записями выделяются красным цветом. Если возникнут ошибки, исправьте все необходимые записи и нажмите кнопку запустить еще раз.
Пока выполняется запись трассировки, в разделе сведения о захвате отображается состояние и ход выполнения процесса отслеживания трассировки.
После завершения записи трассировки новый файл трассировки (TRC) сохраняется в указанном месте для записи , которое вы задаете во время начальной настройки.
файл трассировки содержит результаты трассировки действия SQL Server базы данных. файлы TRC предназначены для предоставления дополнительных сведений об ошибках, обнаруженных и сообщаемых SQL Server.
Причины ошибок в файле sxstrace.exe
Ошибка может быть спровоцирована такими факторами:
- Отсутствуют или повреждены файлы, обеспечивающие старт и работу программ.
- Ошибки записей реестра, повреждённые ключи.
- Конфликты установленного программного обеспечения.
- Вирусы, вредоносные программы.
- Повреждённая или неполная установка ПО Microsoft.
Удаление вирусов
Очистка ПК
ОТВЕТЫ
Ответ 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).
Проверка и восстановление компонентов системной утилитой SFC
Служебную утилиту System File Checker используют для исправления всевозможных сбоев операционной системы. В ряде случаев помогает она и в устранении рассматриваемой ошибки. Способ подходит как для Windows 10, так и любой другой версии. Системный инструмент запускается с командной строки на правах администратора, в ходе сканирования SFC определяет повреждённые элементы и восстанавливает их, если это возможно. Чтобы выполнить процедуру, поступаем следующим образом:
- Запускаем командную строку (жмём ПКМ на кнопке «Пуск» и выбираем «Командная строка (администратор)» или используем консоль «Выполнить» для запуска терминала).
- Вводим команду sfc /scannow и жмём клавишу Enter.
- Ждём, пока утилита не завершит процесс, это может занять некоторое время.
В результате проверки и восстановления повреждённых компонентов (выполняется в автоматическом режиме) будет сформирован отчёт, информирующий пользователя о проделанной работе.
Что такое sxstrace.exe
Sxstrace.exe – это исполнительный файл служебной утилиты SxSTrace от Microsoft, использующейся для диагностики системных компонентов (манифестов). Посредством инструмента трассировки можно выявить проблемный элемент, который спровоцировал ошибку при старте приложения. Чтобы воспользоваться штатной утилитой Windows, достаточно обладать минимальными пользовательскими навыками работы с командной строкой.
Читайте также: