Возможно ли дебажить ось начиная с нажатия кнопки Пуск?

Тема в разделе "WASM.BEGINNERS", создана пользователем neutronion, 31 июл 2010.

  1. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Привет, форумчане!
    Извиняюсь за провокационный вопрос, но хотелось бы знать из практических соображений, насколько рано можно ставить точку останова на работу операционной системы? Если невозможно, то как же
    дебажат свою ось в Микрософт? Теоретически мне кажется это возможно, взять тот же запуск в виртуальной машине. Как дела обстоят практически? Просветите, кто знает.
     
  2. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Можно сорцы wrk почитать
     
  3. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    "дебажить ось начиная с нажатия кнопки Пуск" вообще никакая не проблема, код обработки нажатия кнопки "Пук" находится внутри процесса explorer.exe, полностью в user mode. Приаттачиваешься отладчиком к explorer.exe, и дебажишь на здоровье.
     
  4. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Можно дебажить хоть с первой команды процессора. Для этого только нужно использовать хардварный отладчик типа JTAG... Отлаживал загрузчики для PowerPC, использовал GDB и специальную штуковину - BDI2000.
     
  5. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    С помощью хардварного дебугера можно ловить проц. Чипсет, сцуко, идет мимо
     
  6. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    medstrax1

    Ну ёпрст. Для чипсетов свои методы отладки. Сейчас любая сколь-либо сложная микруха, а тем более чипсет, имеет в себе функции самоконтроля и отладки.
     
  7. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Ага, только припаси пару десятков килобаксов, чтоб увидеть "функции самоконтроля" ;)
     
  8. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    medstrax1

    Согласен, не всегда этого бывает достаточно. И тут в дело вступает анализатор :)))
     
  9. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Что-то мне подсказывает, что под кнопкой "пуск" имеется ввиду кнопка включения питания.
     
  10. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    [offtop]
    Partner
    :) Классное замечание. :)
    [/offtop]
     
  11. KIV

    KIV Member

    Публикаций:
    0
    Регистрация:
    16 июл 2009
    Сообщения:
    231
    Кстати, ещё можно пользоваться виртуальными машинами с функциями отладки. Тот же Bochs например. Даже бесплатный (только очень медленный. хрюша под ним определила частоту процессора как 99 МГц, хотя хост-система была очень неслабой). В случае если вам не нужно проверять особенности работы ОС на конкретном железе, то этот вариант намного удобнее хардварных отладчиков.
     
  12. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    KIV
    Так бокс - это чистый эмулятор, если мой склероз мне не изменяет. Там код как таковой и не выполняется (нативно, я имею ввиду) Какая уж тут скорость. 99Мгц - это очень даже круто. Небось i7 920 как минимум :)
     
  13. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Извиняюсь за непонятность изложения, но имел в виду конечно кнопку включения питания.
     
  14. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Во! Это близко к теме.

    Варианты:
    1)Хардварный
    2)Через виртуалку.

    К процу интел как хардварно подключится, чтобы его дебажить?

    Какой разъем на мамке использовать нужно? Или для этого нужно юзать специальную мамку с нужными разъемами, типа, что-то тестовой платы для контроллеров?
     
  15. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Насколько я понял, скорость работы здесь не важна, ведь задача продебажить, скажем mbr и т.п. Т.е. все то что запускает комп, а не саму ось, что насколько я понимаю облегчают задачу.
     
  16. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Кажется с вашей помощью нарыл кое-что.
    http://msdn.microsoft.com/en-us/library/ms836783.aspx

    Оно? Или не совсем?
     
  17. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Зачем вам дебажить mbr. Достаточно его просто дизассемблировать. К тому же стандартный mbr не представляет такого уж интереса. То что он делает уже давно всем известно и это можно раскопать в интренете. Биос тоже дебажить нет смысла и его тоже можно просто дизассемблировать. Благо сейчас все материнки поддерживают перепрошивку биоса и его копию можно просто скачать на сайте производителя или выдрать сразу с материнки. Вот начать отладку после всех этих манипуляций кажется более логичным. Скажем после запуска загрузчика ос, но для этого вполне сгодится и bochs.
     
  18. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Ну например, я хочу проверить действительно mbr или bios прошивка,
    соответствуют исходным, или например я не совсем понимаю диссассемблерный листинг, хочется увидеть это в "живую", это облегчает процесс понимания листингов, не нужно читать кучу скучных мануалов.
     
  19. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    neutronion
    Извините меня, но если вы
    , то и отлаживать это все с первой команды вам не поможет. Куча цифр без понимания дизассемблерного листинга вам ничего не даст. Разве что можете запустить что-то типа Animate Trace Into, путем подпирания клавиши Trace Into кирпичем или холодильником, и, при виде всего этого, прыгать от счастья и хлопать в ладоши.
     
  20. neutronion

    neutronion New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2010
    Сообщения:
    1.100
    Это мне напоминает наших функционеров бывших, а зачем нам высаживать человека на Луну, у нас и вездеход все замечательно сделает. Действительно, зачем высаживать человека на Луну, маразм американский. И летать не надо, зачем? Ведь можно разбиться. Лучше
    на лошади по старинке, покалечишься при аврии разве только, скорее жив останешься, чем на самолете гробануться, там уж наверняка.
    Что касается непонимания диссассемблерного кода, непонимание частичное, которое легко и просто снимается наблюдением за командами в отладчике. Так и интересней и лучше запоминается, чем изучать мертвый листинг. Статический листинг, для перцев, типа Касперского, Головы, Great и т.д. они его легко переваривают.
    благо опыт большой.