Отладка ядра Linux в реальном времени, как это делается и какие инструменты используются? - PullRequest
52 голосов
/ 09 февраля 2011

Каковы наиболее распространенные и почему не редкие методы и инструменты, используемые для живой отладки в ядре Linux? Я знаю, что Линус например. против такого рода отладки для ядра Linux или, по крайней мере, так было, и, таким образом, ничего не было сделано в этом смысле в те годы, но, честно говоря, с 2000 года прошло много времени, и мне интересно, если это изменился менталитет в отношении проекта Linux и какие современные методы используются для отладки в реальном времени в ядре Linux (локальном или удаленном)?

Приветствуются ссылки на руководства и учебные пособия по упомянутым методам и инструментам.

Ответы [ 11 ]

0 голосов
/ 08 июля 2013

kgdb и gdb практически бесполезны для отладки ядра, потому что код настолько оптимизирован, что не имеет никакого отношения к исходному источнику, а многие переменные оптимизированы.Это делает степпинг, следовательно, пройти через источник невозможно, изучение переменных невозможно и, следовательно, имеет почти все точки.

На самом деле это хуже, чем бесполезно, на самом деле выдает ложную информацию, так что отсоединяется тот код, на который вы ссылаетесь на фактический исполняемый код.

И нет, вы не можете отключить оптимизацию вядро не компилируется.

Я должен сказать, что, исходя из среды ядра Windows, отсутствие достойного отладчика раздражает, учитывая, что существует ненужный код для обслуживания.

...