Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Visual SoftICE как увидеть системные структуры  (Прочитано 8235 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Zuy
Гость
« : 13-03-2008 22:43 » 

Подключился я Visual SoftICE к target машине которая на VMware работает.
На target запустил маленький драйверок и в отладчике сделал брекпоинт в
NTSTATUS  DispatchCreate(PDEVICE_OBJECT fdo, PIRP Irp)

Отладчик в окне Locals показывает локальные переменные, в моем случае fdo и Irp.
Так вот он показывает просто их адреса и описания типа. А я хочу чтобы т.к. это структуры, рядом был плюсик и я мог бы полазить по полям этих структур.
В WinDbg у меня так делается, в Visual SoftICE тоже должно, на картинках видел в хелпе, но я так и не смог его заставить это сделать.
Я решил, что дело в том что отладчик не знает, где брать Symbols. Ну как мог ему пути указывал, все равно не помогает.
Обьясните, как правильно нстроить VisualICE чтобы нормально структуры просматривать.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 15-03-2008 10:49 » 

как Visual не знаю, в обычном - надо было при компиляции ключик выставить, для генерации отладочной информации. потом там был SymbolLoader который отдельно транслировал эту отладочную информацию в NMS формат и отдельная кнопка загрузки в память SI. Плюс кучка ключиков для загрузки отладочной информации при старте системы.
да, у него еще пяток кнопочек было, сохранять ли в NMS формате листинг, структуры, локальные переменные и т.д.
думаю там что то похожее должно быть) я к сожалению так с Visual SoftICE и не занялся как следует)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Zuy
Гость
« Ответ #2 : 16-03-2008 12:21 » 

Провел эксперимент.
Добавил в драйвер свою собственную структуру.
В WinDbg и системные и мя собственная позволяют увидеть сдержимое,
а в Visual SoftIce только моя нормально работает, а в системные зайти не могу.
Т.е. получается что флажки компилятора стоят правильно если он отладочную информацию для моих данных включает.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 17-03-2008 07:49 » 

попробуй в проект VS добавить ntddk.h и может быть wdm.h - не помню.(не includ-ом а именно как файл)
кроме того там был ключик - добавлять в отладочную информацию все или только локальные переменные.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Zuy
Гость
« Ответ #4 : 17-03-2008 10:01 » 

Положение еще немного прояснилось. Если в процедуру драйвера, где я ставлю брекпоин поместить такие обьявления переменных:

DEVICE_OBJECT t2;
PDEVICE_OBJECT t3=&t2;

Т.е. обьявить структуру и указатель на нее.
То Visual SoftICE покажет следующее:
t2 отображается с плюсиком, раскрыв который я вижу содержиме структуры.
t3 отображается без плюсика и я вижу только значение указатля.

Соответственно если внутри структуры есть указатели на другие структуры или массивы, я не могу их раскрыть. WinDbg этот в этом же коде все отлично показывает.
Как Visual SoftICE заставить понимать что з указателем структура и мне ее хочетс увидеть?

А обычный SoftICE не Visual позволяет структуры через указатели просматривать?

PS: файлик добавить просо в проект не могу т.к. я компилю из командной строки с помошью build
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 18-03-2008 09:23 » new

в обычном у меня всегда все нормально было... правда помучался пока понял как туда отладочную инфо закачивать, а потом без проблемм. хотя давно было - уже плохо помню...
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines