[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 7 | 1 | 6
Назад Вниз Каталог Обновить

Отладка ядра android(Проблема с KGDB) Аноним 28/02/17 Втр 20:06:02  943299  
500px-KernelLay[...].png (21Кб, 500x395)
Нужно провернуть отладку ядра на реальном устройстве, в основном дамп потоков. Ядро не моего авторства, сорцы открыты.
Проблема в нем такая: Устройство двухядерное, при обоих активных ядрах появляются фризы переодичностью примерно 10-30 секунд и длительностью 2-бесконечности секунд. Соответственно при отключении hot-plug-а и второго ядра все стабилизируется. При зависаниях помогает запуск какой-нибудь программы, осуществляющей системные вызовы, например top. То есть если запустить через adb shell top, то в моменты обновления страницы топа, если устройство висело, то отвисает. Насколько мне известно, зависают потоки отрисовки интерфейса и обработки аудио, логгирование при этом успешно идет.
Вероятнее всего связано с гонкой в ядре при переброске между ядрами(так как их 2 активно) и где-то происходит блокировка, прерываемая системным вызовом, таким как top.

Погуглив, нашел несколько решений для отладки:
1. Дампить все ручками, при помощи printk
- Не подходит, так как я не знаю где искать блокировку и что выводить.
2. KGDB - отладчик, подцепляющийся gdb
Его я и решил использовать. Как оказалось, в ядро уже был вставлен нужный код, поэтому просто пересобрал с флагами отвечающими за его активацию. Запустил, прописал через adb:
echo g > /proc/sysrq-trigger
Но на компьютере в /dev/ttyACM0 ничего не появилось.
На устройстве /dev/ttyGS0 так же отсутствует.
Использовал: http://bootloader.wikidot.com/android:kgdb
Так же пробовал в /proc/sys/kernel/sysrq выводить 0 и 1, не помогло. При этом если выводить echo c > /proc/sysrq-trigger, то устройство успешно крашится и перезагружается, как и положено.

Подскажите, что делать, как решать? Ну или на крайняк, другие способы отладки или идеи для решения проблемы.
Аноним # OP  01/03/17 Срд 04:28:44  943680
Совсем нет красноглазиков тут?
Аноним 01/03/17 Срд 04:35:29  943683
>ядра андроид
Ты хотел сказать ядра linux?
Обнови, у тебя там скорее всего говно мамонта.
Аноним # OP  01/03/17 Срд 05:12:44  943688
>>943683
Ну оно по совместительству и linux.

Что обновить то? Ядро?

Ядро написано для работы CM 14.1 на моем устройстве, так как сток андроид был 4.3.
Аноним 01/03/17 Срд 16:54:37  943892
>> ядро Android
ты дебил совсем или частично? Из какой пизды выкинулись вы все там со своим cyangenmod и Android?
>> отладка ядра
Аноним 01/03/17 Срд 16:59:20  943894
>>943688
>> Что обновить то? Ядро?
да, блядь, обновить
>> Ядро написано для работы CM 14.1 на моем устройстве, так как сток андроид был 4.3
Нет, выкидышь, оно не написано для работы CM14.1. Оно написано профессионалами сообщества Linux, а не васянами из Cyanogenmod и не узкоглазыми дебилами из какого-нибудь HTC или LG или Lenovo . Оно могло быть засрано их быдлокодом для поддержки твоей машины. Что долго происходило, пока Линуса не заебала вкрай эта хуйня и он не ввел Device Tree Base. Отличай модификацию дебилами и облепление кусками блобов из пизды от большей части работы - самого ядра и иди ка нахуй отсюда. Вместе со своей отладкой блядь. Ты че ебнутый вкрай совсем. Закраш блядь ядро вызовом и слей дамп через kexec.
Аноним # OP  01/03/17 Срд 19:32:08  943969
>>943894
Лол, я и не спорю, что говнокода там выше крыши и вопрос совсем не в этом. И мне нахуй не уперлось ваше экспертное мнение о том, кто и как там говнокодил. В конце концов, не переписывать же все заново. Мне ваше экспертное мнение нужно только для решения проблемы с отладчиком, более того, не вижу ничего плохого в этом, кроме копания в говнокоде.

Крашить пробовал, блокированные потоки при этом не наблюдаются.
Аноним 01/03/17 Срд 22:16:34  944091
https://www.contextis.com/resources/blog/kgdb-android-debugging-kernel-boss/

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 7 | 1 | 6
Назад Вверх Каталог Обновить

Топ тредов
Избранное