SoftIce и ?... HyperThreading

Тема в разделе "WASM.RESEARCH", создана пользователем Dart_Bobr, 3 фев 2005.

  1. Dart_Bobr

    Dart_Bobr New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    100
    Адрес:
    Ukraine
    Почему-то при отладке SoftIce'ом приложений у меня вілазит постоянно один и тот же код Винды, а не тот код который я отлаживаю.

    Pentium4 3E HT, Win Xp и сайс под нее.
     
  2. Sergey_R

    Sergey_R Member

    Публикаций:
    0
    Регистрация:
    9 янв 2005
    Сообщения:
    138
    Dart_Bobr



    А чуть подробнее, когда это происходит? При остановке на контрольной точке или при нажатии Ctrl-D?

    IMHO, HyperThreading тут не причем...
     
  3. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    Dart_Bobr

    так и будете продолжать отЛАЖИвать, пока не научитесь нормално объясняться...

    Win Xp - о наличии сервис паков нам самим догадываться ?

    сайс под нее - ни в коем случае как бы вас не спрашивали не кому не говорите версию сайса и наличие обновлений osinfo. Тут собираются только ясновидящие, они и так уже знают причину, но стесняются вам ее назвать
     
  4. Dart_Bobr

    Dart_Bobr New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    100
    Адрес:
    Ukraine
    Sergey_R

    При нажатии Ctrl-D, постоянно вижу один и тот же бесконечный цыкл.



    MoKC0DeR

    Ну, не сердись. Сервиспак - второй, а версия сайса кажись 4.05.
     
  5. Dart_Bobr

    Dart_Bobr New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    100
    Адрес:
    Ukraine
    Sergey_R

    А на контрольных точках он между прочим вообще и не думает останавливается.
     
  6. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    Dart_Bobr

    Обновляй сайс хотябы до 4.2.7 + скачивай обновления osinfo.dat



    :) небось в контексте Idle



    В каком контексте устанавливаешь бряк ?
     
  7. Sergey_R

    Sergey_R Member

    Публикаций:
    0
    Регистрация:
    9 янв 2005
    Сообщения:
    138
    Dart_Bobr



    Я только слышал, что 4.05 может работать под XP, но сам ее никогда не запускал. Если у тебя она заработала, то отлично, но я бы все же установил более новую версию, проблем меньше будет...





    Так и должно быть. Win бОльшую часть времени проводит в цикле ожидания (Idle, как тебе задал вопрос MoKC0DeR). Поэтому практически всегда, если ты нажмешь Ctrl-D, ты окажешься в нем, ну разве "очень не повезет"... ;о)





    MoKC0DeR уже намекнул тебе про контекст. Подробнее об этом стОит прочитать в руководстве по SI, но коротко, это то _виртуальное_ адресное пространство, которое Win выделает конкретной программе. Оно только на первый взгляд имеет одинаковый для всех программ диапазон адресов, фактически же таблицы перевода виртуального пространства в физическое (определяемые регистром CR3) у каждой программы свои.

    Устанавливать контрольные точки нужно лишь тогда, когда SI показывает тебе на экране адресное пространство исследуемой тобой программы. Переключается же контекст командой:

    ADDR [process-name | process-id | KPEB]

    И если они устанавливаются в каком-то произвольном состоянии ("выпав" по Ctrl-D в тот же цикл Idle, а фактически оказавшись в контексте системы), SI будет ждать, пока снова не окажется в том же самом контексте, в котором он был в тот момент, а когда это произойдет... ;о)