<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_6_thread_43614"  />
<title>rulinux.net - Форум - Development - Инструменты для отладки драйверов ядра Линукс</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Development - Инструменты для отладки драйверов ядра Линукс</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:Инструменты для отладки драйверов ядра Линукс</title>
<link>https://rulinux.net/message.php?newsid=43614&amp;page=1#227268</link>
<guid>https://rulinux.net/message.php?newsid=43614&amp;page=1#227268</guid>
<pubDate>Sat, 15 Feb 2025 02:08:15 +0300</pubDate>
<description><![CDATA[<p>Я точно не помню, как именно, но ядро же может быть gdbservr.<br><br>На отлаживаемом линуксе можно запустить gdbserver, что позволит присоединиться к нему с удаленного компьютера при помощи gdb или его графигеским вариантом ddd и отлаживать приложения. Вроде как ядро тоже можно так отлаживать, но я никогда не пробовал.<br><br>Чем лучше.<br><br>В ядре есть множество средств отладки в debugfs. Надо просто каким-то образом их организовать, чтобы нажал кнопку и всея последовательность передалась.<br><br>На слабеньком Линуксе отлаживаемой машины, легко стартануть простенький сервер, а на удаленной можно и программу посложнее с GUI.<br><br>Python легко бежит на раных платформах. Никакой специальной подготовки не тербуется кроме разрешения некоторых кнфигураций ядра, но если отлаживается драивер или ядро, то это по любому хорошо работает и не представляет трудностей как бывает с не той версией библиотеки, которая нужна для компилляции отладочного инструмента. </p>]]></description>
</item>
<item>
<title>Re:Инструменты для отладки драйверов ядра Линукс</title>
<link>https://rulinux.net/message.php?newsid=43614&amp;page=1#227267</link>
<guid>https://rulinux.net/message.php?newsid=43614&amp;page=1#227267</guid>
<pubDate>Sat, 15 Feb 2025 01:00:52 +0300</pubDate>
<description><![CDATA[<p>Это и есть использование отладочных возможностей ядра. Просто вручную надо много разных вещей писать в разные псевдофайлы, а это делает все, но в более удобной форме.<br><br>Надо будет улучшить трассировщик. Он долго ждет сообщения от удаленного компьютера. Но можно ставить большое время и смотреть трассировку в реальном времени. Напишу как это делать в описании.<br><br>На target мащине открыть другое окно терминала и исполнить как суперюзер: cat /sys/kernel/debug/tracing/trace_pipe </p>]]></description>
</item>
<item>
<title>Re:Инструменты для отладки драйверов ядра Линукс</title>
<link>https://rulinux.net/message.php?newsid=43614&amp;page=1#227266</link>
<guid>https://rulinux.net/message.php?newsid=43614&amp;page=1#227266</guid>
<pubDate>Fri, 14 Feb 2025 00:10:30 +0300</pubDate>
<description><![CDATA[<p>Крутой! <br><br>А чем это лучше встроенных отладочных возможностей ядра?<br><br><br><br>Я точно не помню, как именно, но ядро же может быть gdbservr. </p>]]></description>
</item>
<item>
<title>Инструменты для отладки драйверов ядра Линукс</title>
<link>https://rulinux.net/message.php?newsid=43614&amp;page=1#227265</link>
<guid>https://rulinux.net/message.php?newsid=43614&amp;page=1#227265</guid>
<pubDate>Thu, 13 Feb 2025 20:27:11 +0300</pubDate>
<description><![CDATA[<p>Всем привет!<br><br>Я сделал пару инструментов для отладки драйверов. Всегда есть проблема отладки драйверов усеченного Линукса. Оба инструманта сделаны следующим образом: Простой клиент ставится на отлаживаемый компьютер, где и запускается как UDP сервер. На удаленном компьютере запускается Python GUI приложение. Один инстромент позволяет читать и писать в память/регистры. Второй трассирует функции ядра. Очень просто установить. Питон выбран дла кроссплатформенности. Клиент доступа к памяти написам на C. Его надо кросс-компилятором скомпилировать.<br><br>Доступ к регистрам: https://github.com/stepanovr/linuxreg2/tree/main<br><br>Трасировка: https://github.com/stepanovr/Linux_kernel_trace<br><br>Пожелания по улучшению инструментов приму с благодарностью.</p>]]></description>
</item>
</channel>
</rss>