Брекпойнт на физический адрес

Тема в разделе "WASM.ASSEMBLER", создана пользователем Medstrax, 25 сен 2006.

  1. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Коллеги, вот вопросом озадачился.
    Если при включенной страничной трансляции одному физическому адресу сответствует несколько линейных адресов (теоретически очень много), то гарантированно отловить все read/write по этому адресу нихрена не получится (если алиасных линейных адресов > 4). Т.е. суть в том, что нельзя поставить бряк на физ. адрес. Я, по крайней мере, решения не вижу. Или как-то извратиться все-таки можно?
     
  2. sergh

    sergh New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    128
    Адрес:
    rsdn
    Сомневаюсь. Особенно, если учесть, что физический адрес может быть 36-ти разрядным, а в регистрах места только на 32 бита :)

    Но в отладке не спец, только читал, даже не пробовал пока.
     
  3. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Да... Смешно и грустно в одном флаконе
     
  4. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Тут мысль пришла по поводу.
    В принципе, можно такую блуду замутить. Во всех элементах таблиц PTE, к-рые сслаются на требуемый адрес, пометить страничку как not present и в своем обработчике страничных ексепшнов делать разбор полетов. Технология в общем-то не новая. Только геморно это, имхо.