Трассировка программы отображает вызовы, которые программа делает к внешним библиотекам и ядру. Эти вызовы дают приложению доступ в сеть, к файловой системе и к дисплею. Наблюдая за вызовами и их результатами, можно понять, что послужило причиной некорректной работы приложения
Работа с уже выполняющими процессами
Иногда, когда происходит ошибка, приложение уже работает. Возможность запускать работающий процесс под truss может оказаться полезной. Например, из информации, выводимой утилитой top, видно что один процесс потребляет 95% мощности CPU в течение некоторого времени, как показано в листинге 3.
Листинг 3. top выводит самый ресурсоемкий процесс
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND 11063 sean 1 0 0 1872K 952K run 87.9H 94.68% udpsend
Применение опции -p с truss дает возможность владельцу процесса или root (администратору) присоединить трассировщик к выполняемому процессу и отследить системные вызовы. Для этого требуется знать PID. В листинге 3 PID соответствует 11063. Листинг 4 показывает системные вызовы для исследуемого приложения.
Как ускорить телефон ? Отключи эти настройки смартфона и телефон перестанет тормозить
Листинг 4. Информация, выводимая truss , после присоединения к работающему процессу
$ truss -p 11063 sendto(3, » a b c», 3, 0, 0xFFBFFD58, 16) = 3 sendto(3, » a b c», 3, 0, 0xFFBFFD58, 16) = 3 sendto(3, » a b c», 3, 0, 0xFFBFFD58, 16) = 3 sendto(3, » a b c», 3, 0, 0xFFBFFD58, 16) = 3 sendto(3, » a b c», 3, 0, 0xFFBFFD58, 16) = 3 sendto(3, » a b c», 3, 0, 0xFFBFFD58, 16) = 3 sendto(3, » a b c», 3, 0, 0xFFBFFD58, 16) = 3 sendto(3, » a b c», 3, 0, 0xFFBFFD58, 16) = 3 . repeats .
Фильтрация выводимой информации
Поскольку grep можно использовать для обработки информации в выводе, будет проще сконфигурировать truss таким образом, чтобы наблюдать только за отдельными вызовами. Данная практика очень популярна в случае, когда пытаются определить, как работает приложение (например, какие конфигурационные файлы использует это приложение). В этом случае, системные вызовы open() и stat() указывают на все файлы, которые пытается открыть приложение.
Для открытия файла используется open() , для получения информации о файле используется stat() . Часто приложение ищет файл при помощи серии вызовов stat() , а затем открывает этот файл.
Чтобы отфильтровать системные вызовы, используется опция -t совместно с truss . Для strace под Linux используется -e . В любом случае необходимо передать в командную строку список системных вызовов, отделенных друг от друга запятой. Поставив восклицательный знак ( ! ) перед списком, можно отфильтровать нужную информацию. Листинг 5показывает, как тестовое приложение ищет файл конфигурации.
Листинг 5. Фильтр, наложенный на вывод truss , чтобы отображать только функции stat() и open()
$ truss -tstat,open ./app stat(«/export/home/sean/app», 0xFFBFFBD0) = 0 open(«/var/ld/ld.config», O_RDONLY) Err#2 ENOENT stat(«/opt/csw/lib/libc.so.1», 0xFFBFF700) Err#2 ENOENT stat(«/lib/libc.so.1», 0xFFBFF700) = 0 open(«/lib/libc.so.1», O_RDONLY) = 3 stat(«/export/home/sean/.config», 0xFFBFFCF0) Err#2 ENOENT stat(«/etc/app/configfile», 0xFFBFFCF0) Err#2 ENOENT stat(«/etc/configfile», 0xFFBFFCF0) = 0 open(«/etc/configfile», O_RDONLY) = 3
Последние четыре строки самые важные. Функция stat() /export/home/sean/.config возвращает ENOENT, что означает, что файл не был найден. Затем код пытается найти файл в /etc/app/configfile и, наконец, находит его в /etc/configfile. Значение первой проверки в домашнем каталоге пользователя состоит в том, что можно менять этот адрес проверки в зависимости от пользователя.
как прокачать свой телефон с помощью трассировки системы
Источник: ctopmbi4.wordpress.com
Дамп трассировки meizu что это
8 (495) 241-26-96 (многоканальный)
Основное меню
- Главная
- Платные прошивки чипов
- Заправка картриджей
- Заправка картриджей HP
- Заправка картриджей Brother
- Заправка картриджей Canon
- Заправка картриджей Epson
- Заправка картриджей Konica Minolta
- Заправка картриджей Kyocera
- Заправка картриджей Lexmark
- Заправка картриджей OKI
- Заправка картриджей Panasonic
- Заправка картриджей Pantum
- Заправка картриджей Ricoh
- Заправка картриджей Samsung
- Заправка картриджей Xerox
(2 голосов, средний: 4,50 из 5)
DUMP Nand Flash и Firmware Катюша M247
Не смотря на Российское название аппарата, корни аппарата все-таки китайские корейские (ps. поправка от читателей):-) (SINDOH). У коллег перестал загружаться один из МФУ, просто зависал на заставке. Самое обидное помер загрузчик (принцип старта прошивки с флешки как у KYOCERA ). Для решения проблемы был снят дамп с nand flash с рабочего аппарата. Прошивка считывалась программатором UFPI.
После прошивки пациент ожил, но тачскрин отказался работать. В данном случае нам был важно восстановить загрузчик и далее путем установки флешки с firmware прошить аппарат. После прошивки с флешки более свежей версией firmware (приложена к архиву) аппарат успешно вышел в готовность. Внимание. Как оказалось серийный номер аппарата хранится в nand flash, поэтому серийный номер аппарата сменится!
Вес архива составляет почти 600Mb! Архив содержит дамп nand flash и оригинальную firmware для прошивки через USB FLASH. Файловая система флешки должна быть FAT 32, прошивка firmware происходит при включении принтера с установленной в нем флешкой .Процесс прошивки происходит автоматически.
Источник: total-page.ru