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
|
|
« Ответ #1 : 15-03-2008 10:49 » |
|
как Visual не знаю, в обычном - надо было при компиляции ключик выставить, для генерации отладочной информации. потом там был SymbolLoader который отдельно транслировал эту отладочную информацию в NMS формат и отдельная кнопка загрузки в память SI. Плюс кучка ключиков для загрузки отладочной информации при старте системы. да, у него еще пяток кнопочек было, сохранять ли в NMS формате листинг, структуры, локальные переменные и т.д. думаю там что то похожее должно быть) я к сожалению так с Visual SoftICE и не занялся как следует)
|
|
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
Zuy
Гость
|
|
« Ответ #2 : 16-03-2008 12:21 » |
|
Провел эксперимент. Добавил в драйвер свою собственную структуру. В WinDbg и системные и мя собственная позволяют увидеть сдержимое, а в Visual SoftIce только моя нормально работает, а в системные зайти не могу. Т.е. получается что флажки компилятора стоят правильно если он отладочную информацию для моих данных включает.
|
|
|
Записан
|
|
|
|
Ochkarik
|
|
« Ответ #3 : 17-03-2008 07:49 » |
|
попробуй в проект VS добавить ntddk.h и может быть wdm.h - не помню.(не includ-ом а именно как файл) кроме того там был ключик - добавлять в отладочную информацию все или только локальные переменные.
|
|
|
Записан
|
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
|
|
« Ответ #5 : 18-03-2008 09:23 » |
|
в обычном у меня всегда все нормально было... правда помучался пока понял как туда отладочную инфо закачивать, а потом без проблемм. хотя давно было - уже плохо помню...
|
|
|
Записан
|
RTFM уже хоть раз наконец! :[ ну или хотя бы STFW...
|
|
|
|