[beta] Отладка Linux Kernel по сети
От: bazis1 Канада  
Дата: 26.06.14 23:06
Оценка: 5 (1)
Мы недавно выпустили продукт, позволяющий отлаживать линуксовое ядро из-под Visual Studio, и фидбеком №1 от пользователей было желание отлаживать ядро через сеть, т.к. на современных машинах нет COM-портов, а виртуалка не всегда подходит.
В общем, мы проблему изучили, нашли древние как мир патчи KGDBoE, нашли дискуссию, что оно не работает на многоядерных системах, т.к. если одно ядро ловит exception, пока другое ядро выполняет что-то, связанное с сетью, получается deadlock, и починили. Получился адский хак, ставящий хуки на ряд системных API, пытающийся угадать прерывание от сетевой карты и патчащий spin lock-и на лету, но самое забавное, что оно работает как часы, что под VMWare, что на реальном железе. Стресс-тест с breakpoint-ом, при срабатывании которого тут же выдается continue, набрал 20К+ итераций "без единого разрыва" (с), так что постоянных зависаний как при отладке MacOS быть не должно.

В общем, нужны добровольцы, готовые протестировать наш транспорт на своем железе. Windows для этого не нужна, достаточно двух Linux-машин. Кернел тоже пересобирать не надо, наш транспорт работает в виде отдельного модуля (совместим с 3.8.0-3.15.0) и ставит все хуки динамически. Если кому-нибудь будет интересно прогнать это у себя, пишите — выложу ссылку.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.