| 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/  | 
|