OSDev http://osdev.su/ |
|
Разработка отладчика http://osdev.su/viewtopic.php?f=18&t=565 |
Страница 1 из 3 |
Автор: | Golan [ 28 май 2012, 14:08 ] |
Заголовок сообщения: | Разработка отладчика |
Как вы считаете, разработка универсального, то есть не зависящего от программной платформы, отладчика, это стоящее дело? Мне кажется, что отладчик на основе аппаратной виртуализации, под которым можно отлаживать и Windows и Linux приложения, по своей сути это мини-операционная система. Тут есть возможности для применения ума и знаний. Абстрактная ОС по сути ведь никому не нужна. Даже если кто-то и создаст вменяемую операционку, шансов повторить успех Л.Торвальдса у него немного, пока под нее не будет прикладного софта. Зато хороший отладчик может быть полезен многим даже без сопутствующего програмного обеспечения. |
Автор: | grindars [ 28 май 2012, 14:18 ] |
Заголовок сообщения: | Re: Разработка отладчика |
А зачем? В винде есть KD, в линуксе тоже есть ядерный отладчик (но, насколько мне известно, полудоделанном состоянии). Не говоря уже о том, что полноценному ядерному отладчику должны быть известны множество деталей реализации ядра, а значит, он уже не универсальный. |
Автор: | Станислав [ 28 май 2012, 14:21 ] |
Заголовок сообщения: | Re: Разработка отладчика |
Отгаваривать писать отладчик тебя ни кто не будет, а по поводу Линукса, то он и не стал популярный у пользователя потому, что там нет софта, так же есть мнение, что написан разными людьми и не управляем, содержит очень много кода и ни кто не возьмётся это всё ворошить для модификаций, доработок. Лично моё мнение, что система должна переписываться, т.к. с развитием подход к написании ОС меняется, а у линукса помоему старые взгляды на систему, но точно не знаю. |
Автор: | Golan [ 28 май 2012, 14:39 ] |
Заголовок сообщения: | Re: Разработка отладчика |
grindars писал(а): А зачем? В винде есть KD, в линуксе тоже есть ядерный отладчик (но, насколько мне известно, полудоделанном состоянии). Не говоря уже о том, что полноценному ядерному отладчику должны быть известны множество деталей реализации ядра, а значит, он уже не универсальный. Реализованные в Windows и Linux отладчики не устраивают многих. Если отлаживаемый драйвер напрямую работает с дескрипторами и таблицами страниц, то отладить его у вас не получится без плясок и прочего шаманства. Отладчик должен быть "ниже" ОС, это мое глубокое и обоснованное мнение.А детали реализации ядра отлаживаемой ОС можно вынести за скобки, реализовав это как плагин. Сам отладчик управляет процессором и памятью, а внутренности и интерпретация памяти пусть лягут на плечи соответствующих плагинов |
Автор: | valeri [ 28 май 2012, 14:45 ] |
Заголовок сообщения: | Re: Разработка отладчика |
Golan писал(а): Реализованные в Windows и Linux отладчики не устраивают многих. Если отлаживаемый драйвер напрямую работает с дескрипторами и таблицами страниц, то отладить его у вас не получится без плясок и прочего шаманства. Отладчик должен быть "ниже" ОС, это мое глубокое и обоснованное мнение.А детали реализации ядра отлаживаемой ОС можно вынести за скобки, реализовав это как плагин. Сам отладчик управляет процессором и памятью, а внутренности и интерпретация памяти пусть лягут на плечи соответствующих плагинов Вы представляете что из себя будет представлять данный "плагин"? Это ж целое ядро придется в него впихивать, т.к. драйверы Windows, например, активно импортируют функциии ядра и работают с ними. И что, все эти функции реализовывать у себя в "плагине"? Да и какой процент драйверов напрямую работает с дескрипторами и таблицами страниц? |
Автор: | SII [ 28 май 2012, 14:51 ] |
Заголовок сообщения: | Re: Разработка отладчика |
grindars писал(а): А зачем? В винде есть KD, в линуксе тоже есть ядерный отладчик (но, насколько мне известно, полудоделанном состоянии). Не говоря уже о том, что полноценному ядерному отладчику должны быть известны множество деталей реализации ядра, а значит, он уже не универсальный. Тут не совсем соглашусь. Весьма удобной была б возможность отладки чего угодно, причём так, чтобы это "что-то" и не знало, что его отлаживают (ну, за исключением возможности определить сам факт отладки по показаниям таймеров и т.п. "хитрыми" способами) -- т.е. внешним по отношению к нему инструментом. На мэйнфреймах такая возможность была и есть -- это система виртуальных машин Грузишь в ней любую операционку (в том числе саму СВМ) и отлаживай, как будто с пульта управления. Было весьма удобно. На ПК же все имеющиеся виртуальные машины, насколько знаю, начисто лишены возможности отладки. В общем, был бы смысл создать именно СВМ, но на ПК это крайне сложная задача ввиду его дикой архитектуры, множества недокументированных вещей и т.д. и т.п. |
Автор: | grindars [ 28 май 2012, 14:53 ] |
Заголовок сообщения: | Re: Разработка отладчика |
valeri писал(а): Да и какой процент драйверов напрямую работает с дескрипторами и таблицами страниц? По моему мнению, авторам драйверов, лезущих в дескрипторы и таблицы страниц, следует отрывать руки. Golan, я понял вашу мысль. В общем, идея достаточно интересная, и попробовать сделать такой отладчик стоит. P.S. А вот на ARM-ах с внутрисхемной отладкой вообще кайф |
Автор: | grindars [ 28 май 2012, 14:54 ] |
Заголовок сообщения: | Re: Разработка отладчика |
SII писал(а): Тут не совсем соглашусь. Весьма удобной была б возможность отладки чего угодно, причём так, чтобы это "что-то" и не знало, что его отлаживают (ну, за исключением возможности определить сам факт отладки по показаниям таймеров и т.п. "хитрыми" способами) -- т.е. внешним по отношению к нему инструментом. Как минимум управляющие блоки разбирать надо, без этого отлаживать всю систему, а не само ядро, несколько туго: как различать потоки, например? |
Автор: | Golan [ 28 май 2012, 14:57 ] |
Заголовок сообщения: | Re: Разработка отладчика |
Если память меня не подводит, то драйвер HASP напрямую работал с таблицей дескрипторов прерываний. А используется HASP весьма и весьма широко. Может разработчикам из Alladin и стоит оторвать руки, только сам факт это не изменит. |
Автор: | Golan [ 28 май 2012, 15:00 ] |
Заголовок сообщения: | Re: Разработка отладчика |
valeri писал(а): Это ж целое ядро придется в него впихивать, т.к. драйверы Windows, например, активно импортируют функциии ядра и работают с ними. И что, все эти функции реализовывать у себя в "плагине"? А почему нет? SoftIce и Syser могут себе это позволит как часть основного функционала. Почему бы этот же функционал не вынести в плагин? |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |