Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 02.06.09 12:48
Оценка: 159 (22)
Как всегда, "дошли руки" написать расширение к Visual Studio 2005/2008, позволяющее создавать проекты драйверов прямо из IDE, собирать и отлаживать их оттуда же. А заодно, автоматически отправлять файл драйвера на отладочную машину и запускать там заданную команду.
Сайт проекта тут: http://visualddk.sysprogs.org/
Quickstart guide здесь: http://visualddk.sysprogs.org/quickstart

Проект получился достаточно большим, поэтому будут интересны багрепорты и пожелания по части новых фич.

Да, расширение бесплатное и выложено с исходниками.
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 07.06.09 19:40
Оценка: -3 :)
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, bazis1, Вы писали:


B>>Как всегда, "дошли руки" написать расширение к Visual Studio 2005/2008, позволяющее создавать проекты драйверов прямо из IDE, собирать и отлаживать их оттуда же. А заодно, автоматически отправлять файл драйвера на отладочную машину и запускать там заданную команду.

B>>Сайт проекта тут: http://visualddk.sysprogs.org/
B>>Quickstart guide здесь: http://visualddk.sysprogs.org/quickstart

B>>Проект получился достаточно большим, поэтому будут интересны багрепорты и пожелания по части новых фич.


B>>Да, расширение бесплатное и выложено с исходниками.


А>приятный проект

А>давненько небыло в интернете хороших проектов

поспешил (((
возьму свои слова обратно
как токо увидел внутри файлы .cs сразу стало плохо...
Re[3]: ???
От: bazis1 Канада  
Дата: 08.06.09 07:55
Оценка: +2
Что плохого в User-интерфейсе на C#? Чем он хуже в 3 раза более длинной реализации на C++/WTL? Учитывая, что большинство графических вещей в студии написаны на .NET и подключение окон и панелей через COM будет медленнее за счет маршаллинга? Реально назовите хоть один недостаток, пожалуйста.
Ключевой компонент (DDKDebugger), наиболее критичный к производительности, написан на C++ и узким местом не является (узкое место, как и в случае с WinDbg — в скорости соединения отладчика с отлаживаемой машиной).
Или Вы фанат написания всего на чистом C?
Re[4]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: x64 Россия http://x64blog.name
Дата: 17.07.09 20:24
Оценка: -1 :)
R>Да откуда я знаю, я ему ничего не говорил, какой процесс, что мне выдал, то и написал!

Не к тебе обращаюсь, к автору. Со всеми багами тебе тоже к автору.
JID: x64j@jabber.ru
Re[4]: ???
От: x64 Россия http://x64blog.name
Дата: 08.06.09 08:01
Оценка: +1
B>Или Вы фанат написания всего на чистом C?

Не обращай внимания, это очередные дети с васма пришли.
JID: x64j@jabber.ru
Re[4]: ???
От: Аноним  
Дата: 13.06.09 14:33
Оценка: -1
Здравствуйте, bazis1, Вы писали:

B>Что плохого в User-интерфейсе на C#? Чем он хуже в 3 раза более длинной реализации на C++/WTL? Учитывая, что большинство графических вещей в студии написаны на .NET и подключение окон и панелей через COM будет медленнее за счет маршаллинга? Реально назовите хоть один недостаток, пожалуйста.


я не против того на чем написана студия
но имхо уважаю токо проекты на C/C++ — да это мое имхо

зы
паскаль во всех его проявлениях а так же не люблю (это для тех кто задает лишние вопросы)

B>Ключевой компонент (DDKDebugger), наиболее критичный к производительности, написан на C++ и узким местом не является (узкое место, как и в случае с WinDbg — в скорости соединения отладчика с отлаживаемой машиной).


хорошо
никто не спорит

B>Или Вы фанат написания всего на чистом C?


да я фанат C/C++
и шарп в любом его проявлении просто ненавижу

>x64

дети васма живут на васме

>byleas

большая разница
когда майкрософт всеже допишет свою шарп ось
пересядете на нее и поймете
это как пример


зы
всего лиш высказал свое имхо
вы вольны его игнорировать
Re[4]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 14.06.09 14:42
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Да, нет Насколько мне известно, "ваша" идея, вот ровно один в один, была начата некоторыми известными товарищами из этого форума, пару-тройку лет назад. Начата и так и не закончена, видимо из-за недостатка трудолюбия и усердия. Так что простите если я Вас несколько разочаровал — в том что эта "ваша идея" нова и оригинальна. Так что именно поэтому я и интересуюсь — насколько успешно у вас идет скачивание. А Вы что подумали? Да, всё придумали до нас, но важна не идея а — реализация, упорство, вера в успех, и трудолюбие. Но в _то_ время эта идея казалась очень смелой, ну может и по этому не все тогда верили в успех. Но как пример, того — что надо верить "умным" людям, она очень хороша. Успехов.

Идее этой, думаю, столько же лет, сколько Visual Studio и WinDbg. У меня не более чем "руки дошли". И дело тут, повторюсь, не в трудолюбии, а в нормальной архитектуре и планировании времени, не более того. Без оных, Ваше любимое трудолюбие будет лишь плодить строки и килобайты, ничуть не приближая релиз нормальной версии. А скачивание идёт, куда ж оно денется...
P.S. А почему анонимно, раз Вы тут такой старожил?
Re[6]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: IID Россия  
Дата: 14.06.09 20:14
Оценка: +1
А>Аноним? Да просто пароль забыл Да и не надо ужо тытысь нонче.

А>


Вы ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
kalsarikännit
Re[3]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 28.07.09 13:55
Оценка: -1
Здравствуйте, x64, Вы писали:

R>>Далее жму Launch, и вылетает ошибка: Attaching the DDK debugger to process '[0] System' on machine 'Имя моей машины' failed.


x64>Кстати, автор, а почему у тебя у процесса ядра ID равен 0? Должен быть 4. Или это не ID процесса в скобках?

Потому что, в случае с одним процессом в списке, идентификатор его никакой роли не играет и разница между 0, 4 и 123 сравнима по значимости с разницей между синим, зеленым или желтым фоном десктопа.

Кстати, x64, а почему все ваши посты касательно VisualDDK столь ярко пропитаны негативными эмоциями? Задеты нерелизованные амбиции, или просто так?
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: _Nkey_ Беларусь  
Дата: 02.06.09 18:14
Оценка:
Хм.
Рад, что на тебя наткнулся. Накачал с sysprogs всякой штуки — пойду домой буду разбираться.

Приятно, что кто-то просто так что-то делает, и это(то что он делает), очень ничаго.
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: airmaxx http://perfect-coding.blogspot.com
Дата: 02.06.09 19:28
Оценка:
Ух-ты!
Аж руки зачесались попробовать!

З.Ы. Огромне спасибо автору за KDVMWare. Просто незаменимая утилита!
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: _Nkey_ Беларусь  
Дата: 03.06.09 14:57
Оценка:
Очень мило.

По багам:

Расширение не стало на 2008 вижлу (рус. версия) под XP. Точнее стало, но как-то странно. (есть проект драйвера, но нет кнопок для отладки).
Под вистой на стало отлично.
При перезагрузке гостевой системы вижла иногда вылетает.
Не получается соеденится на прямую к KDVMWare(через его пайп работает нормально(в имени машины есть пробелы)).
Если создать проект драйвера с именем начинающимся на цифру — получается некомпилируемый код))))

Скажи, в каком виде присылать баги и откуда и какие брать логи. Скоро буду браться за работу — буду юзать VisualDDK. Тогда соберу более точные данные.

Софтина ужасно хороша, надо бы только сделать все постабильнее.
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 03.06.09 15:24
Оценка:
Здравствуйте, _Nkey_, Вы писали:

_N_>Очень мило.


_N_>По багам:


_N_>Расширение не стало на 2008 вижлу (рус. версия) под XP. Точнее стало, но как-то странно. (есть проект драйвера, но нет кнопок для отладки).

Дело в русской студии. В файле CommandBar.resx в исходниках содержатся имена меню Tools для разных языков, например:
    <data name="enTools">            <value xml:space="preserve">Tools</value></data>

Единственное решение — внести туда названия пунктов меню из русской студии. Так как у меня оной нету, сам сделать не могу. Файл проще всего отредактировать, открыв студийным редактором ресурсов. Обновленный файл шли почтой — включу в следующую версию.

_N_>Под вистой на стало отлично.

_N_>При перезагрузке гостевой системы вижла иногда вылетает.
Попробуй сделать attach к студии из другой студии, и когда первая вылетит, выбери debug->write dump и полученный файл пришли мне. Это позволит

_N_>Не получается соеденится на прямую к KDVMWare(через его пайп работает нормально(в имени машины есть пробелы)).

Видимо, баг с пробелами. Поправлю.

_N_>Если создать проект драйвера с именем начинающимся на цифру — получается некомпилируемый код))))

А если удалить boot.ini — получается неюзабельная система :D
(согласен, мелкий, но недочет)

_N_>Скажи, в каком виде присылать баги и откуда и какие брать логи. Скоро буду браться за работу — буду юзать VisualDDK. Тогда соберу более точные данные.

При вылетании студии создавай debug dump и шли его мне на почту (ivan (гав) sysprogs тчк орг).

_N_>Софтина ужасно хороша, надо бы только сделать все постабильнее.

Ну да. Для этого и нужны багрепорты Было бы очень удивительно, если бы мегабайт плюсплюсного кода работал одинаково хорошо у всех юзеров в первой же версии :P
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: x64 Россия http://x64blog.name
Дата: 03.06.09 15:37
Оценка:
Тема интересная, пара пожеланий только:

1. Плагин не должен зависеть от виртуалки (т.е. должно работать как с VMware, так и с VirtualBox — я использую второе).
2. Плагин не должен требовать установки чего-либо дополнительно, всё должно быть в дистрибутиве, и уж точно не должен мешать самой VS.
3. Первое время (как минимум, несколько месяцев) после выхода стабильной версии не стоит делать его платным. Потом можно, но не слишком дорого.

По фичам не знаю, но хотелось бы, чтобы операция запуска сеанса отладки была максимально простой, буквально чтобы пару кнопок было достаточно нажать. Ну вот рассмотрим пример. Я не использую Visual Studio для сборки драйверов, т.е. у меня нет никакого VS-проекта для этого (и честно говоря, нет никакого желания его создавать). У меня есть файлы sources, makefile и ещё куча исходников типа .h и .c. В идеале, было б здорово, если бы было можно использовать VS по аналогии с WinDbg, т.е. не для сборки, а только и исключительно для отладки: жмёшь какой-нибудь пункт меню, указываешь папку с исходниками (хотя это вроде можно из отладочных символов вытянуть), папку с бинарниками (.sys и .pdb), пишешь имя пайпа, далее кнопка OK и всё — студия переходит в режим отладки и ждёт пайпа. Ну вот как-то так.
JID: x64j@jabber.ru
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 03.06.09 16:46
Оценка:
Здравствуйте, x64, Вы писали:

x64>Тема интересная, пара пожеланий только:


x64>1. Плагин не должен зависеть от виртуалки (т.е. должно работать как с VMware, так и с VirtualBox — я использую второе).

Плагин не зависит от виртуалки. Он работает со всем, с чем работает WinDbg (хоть с реальным COM-портом). Просто для VMWare был написан отдельный драйвер, интеграцию с которым я и добавил.

x64>2. Плагин не должен требовать установки чего-либо дополнительно, всё должно быть в дистрибутиве, и уж точно не должен мешать самой VS.

Не понял. "Дополнительного", это KDVMWARE? Дык это отдельный продукт, работающий в т.ч. с WinDbg. Debugging Tools включать в дистр? Тоже несерьезно. И что сейчас мешает "самой VS"? Я что-то упустил из виду?

x64>3. Первое время (как минимум, несколько месяцев) после выхода стабильной версии не стоит делать его платным. Потом можно, но не слишком дорого.

Конкретно этот плагин, думаю, будет оставаться бесплатным . Возможно, сделаю коммерческую версию для одной подобной вещи.

x64>По фичам не знаю, но хотелось бы, чтобы операция запуска сеанса отладки была максимально простой, буквально чтобы пару кнопок было достаточно нажать. Ну вот рассмотрим пример. Я не использую Visual Studio для сборки драйверов, т.е. у меня нет никакого VS-проекта для этого (и честно говоря, нет никакого желания его создавать). У меня есть файлы sources, makefile и ещё куча исходников типа .h и .c. В идеале, было б здорово, если бы было можно использовать VS по аналогии с WinDbg, т.е. не для сборки, а только и исключительно для отладки: жмёшь какой-нибудь пункт меню, указываешь папку с исходниками (хотя это вроде можно из отладочных символов вытянуть), папку с бинарниками (.sys и .pdb), пишешь имя пайпа, далее кнопка OK и всё — студия переходит в режим отладки и ждёт пайпа. Ну вот как-то так.


Такая функция есть — debug->attach->kernel-mode connections. Я, вроде бы, в QuickStart все описал. Кстати, проект можно импортировать из существующих исходников.
Re[3]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: x64 Россия http://x64blog.name
Дата: 03.06.09 17:01
Оценка:
Мне следовало сразу сказать, вероятно: я ещё не смотрел толком сам проект (нет времени пока), я всего лишь описал как это должно быть по моему мнению. Debugging Tools, разумеется, включать в дистрибутив не следует. И да, я имел виду именно KDVMWARE, — было бы совсем хорошо, если бы в установщике можно было выбирать галочкой ставить его или нет (например, мне оно просто не нужно). Сейчас пока только пожелаю стабильности, а в ближайшее время, возможно, попробую сам, если что найду — отпишусь. Удачи!
JID: x64j@jabber.ru
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: pva  
Дата: 06.06.09 13:20
Оценка:
Здравствуйте, bazis1,

Инсталяция (VisualDDK-1.0-nopdb.exe)
— По умолчанию, таких переменных как DDKPATH | WDKPATH не существует
— В диалоговом окне укажи что путь должен быть корнем DDK | WDK, а в ошибке не только что NTDDK.H не найден, но и что ищется он в (%XXKPATH%\inc\ddk). Это для тех кто QuickStart не читает.
— При выборе каталога через диалог кнопка "Next >" не активируется

Отладка
— Раз уж мы указываем тип драйвера при его создании (WDK | Legacy), то логично было бы выставлять нужные пункты в VisualDDK Driver Project Launcher.
— В этом же диалоге добавить кнопку "Cancel".

Дальше пока не тестировал.
newbie
visualddk msvs extension
Re: VisualDDK 1.1 + KDVMWare 1.3
От: bazis1 Канада  
Дата: 06.06.09 14:03
Оценка:
Спасибо всем высказавшимся за идеи. Выпустил версию 1.1. Поправлены баги с VS2005 и установкой на 64-разрядную Windows. Плюс, пара мелких изменений по UI. Дальнейшие пожелания приветствуются.
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 06.06.09 14:08
Оценка:
Здравствуйте, pva, Вы писали:

pva>Здравствуйте, bazis1,


pva>Инсталяция (VisualDDK-1.0-nopdb.exe)

pva> — По умолчанию, таких переменных как DDKPATH | WDKPATH не существует
По умолчанию — нет. Если была поставлена BazisLib — да.
pva> — В диалоговом окне укажи что путь должен быть корнем DDK | WDK, а в ошибке не только что NTDDK.H не найден, но и что ищется он в (%XXKPATH%\inc\ddk). Это для тех кто QuickStart не читает.
Согласен.
pva> — При выборе каталога через диалог кнопка "Next >" не активируется
Хм. У меня активируется. Можно по пунктам, что где как выбирал?

pva>Отладка

pva> — Раз уж мы указываем тип драйвера при его создании (WDK | Legacy), то логично было бы выставлять нужные пункты в VisualDDK Driver Project Launcher.
Это будет чуть позже, с более продвинутым Launcher-ом.
pva> — В этом же диалоге добавить кнопку "Cancel".
Тоже будет. Пока можно по Alt+F4.

pva>Дальше пока не тестировал.
Re[3]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: pva  
Дата: 06.06.09 19:18
Оценка:
Здравствуйте, bazis1, Вы писали:

pva>> — При выборе каталога через диалог кнопка "Next >" не активируется

B>Хм. У меня активируется. Можно по пунктам, что где как выбирал?
Сразу после установки появляется этот диалог для выбор XXKPATH. Тыкаешь кнопку справа от EditBox для WDK, выбираешь каталог, ОК. Если потом Ctrl+X, Ctrl+V, то "Next >" станет доступной.

pva>> — В этом же диалоге добавить кнопку "Cancel".

B>Тоже будет. Пока можно по Alt+F4.
Да, это понятно. Можно и мышей на крестик.
newbie
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 07.06.09 13:38
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Как всегда, "дошли руки" написать расширение к Visual Studio 2005/2008, позволяющее создавать проекты драйверов прямо из IDE, собирать и отлаживать их оттуда же. А заодно, автоматически отправлять файл драйвера на отладочную машину и запускать там заданную команду.

B>Сайт проекта тут: http://visualddk.sysprogs.org/
B>Quickstart guide здесь: http://visualddk.sysprogs.org/quickstart

B>Проект получился достаточно большим, поэтому будут интересны багрепорты и пожелания по части новых фич.


B>Да, расширение бесплатное и выложено с исходниками.


приятный проект
давненько небыло в интернете хороших проектов
Re[3]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: byleas  
Дата: 08.06.09 08:35
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>как токо увидел внутри файлы .cs сразу стало плохо...

Какая разница, на чём написано?
Re[2]: VisualDDK 1.1
От: airmaxx http://perfect-coding.blogspot.com
Дата: 10.06.09 06:43
Оценка:
Есть предложение чтобы Визард при создании проекта вместо _DEBUG использовал DBG=1.
WDK:
"You should conditionally compile the debugging code in your driver by testing the DBG preprocessor constant.
If you create your driver by running the Build utility in a checked build environment, DBG will equal 1.
If you create your driver by running the Build utility from a free build environment, DBG will equal 0 (or will be undefined if neither wdm.h nor ntddk.h is included)."

Для теста собрал fre и chk версии драйвера build-ом из WDK.
Так вот, он устанавливает такие значения:

fre: /DNDEBUG /DNDEBUG
chk: /DDBG=1 /DNDEBUG

Не уверен, но возможно это есть частичной причиной описанного здесь: http://visualddk.sysprogs.org/VisualDDKHelpers/

VS генерирует pdb файлы в несколько раз меньше чем build.
Очень похоже что в них отсутствует вся отладочная информация.

Вопрос ко всем участникам обсуждения.
Какие ключи влияют на "полноту" символьных файлов?
Re[3]: VisualDDK 1.1
От: bazis1 Канада  
Дата: 10.06.09 08:21
Оценка:
Здравствуйте, airmaxx, Вы писали:

A>Есть предложение чтобы Визард при создании проекта вместо _DEBUG использовал DBG=1.

A>WDK:
A>"You should conditionally compile the debugging code in your driver by testing the DBG preprocessor constant.
A>If you create your driver by running the Build utility in a checked build environment, DBG will equal 1.
A>If you create your driver by running the Build utility from a free build environment, DBG will equal 0 (or will be undefined if neither wdm.h nor ntddk.h is included)."

Думаю, вместо, не есть лучшая идея. Возможно, сделаю дополнительную опцию, какой набор флагов использовать. Пока можно так: #ifdef _DEBUG \\ #define DBG 1 \\ #endif.

A>Для теста собрал fre и chk версии драйвера build-ом из WDK.

A>Так вот, он устанавливает такие значения:

A>fre: /DNDEBUG /DNDEBUG

A>chk: /DDBG=1 /DNDEBUG

A>Не уверен, но возможно это есть частичной причиной описанного здесь: http://visualddk.sysprogs.org/VisualDDKHelpers/

A>VS генерирует pdb файлы в несколько раз меньше чем build.
A>Очень похоже что в них отсутствует вся отладочная информация.
А что говорит WinDbg/VisualDDK, если посмотреть NTSTATUS-переменную, собранную через Build? NTSTATUS или long? Если NTSTATUS, то какая в точности командная строка передается cl.exe?
Re[4]: VisualDDK 1.1 + VirtualKD 2.0
От: airmaxx http://perfect-coding.blogspot.com
Дата: 11.06.09 15:18
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Думаю, вместо, не есть лучшая идея. Возможно, сделаю дополнительную опцию, какой набор флагов использовать. Пока можно так: #ifdef _DEBUG \\ #define DBG 1 \\ #endif.

Использую обе опции, потому как без DBG 1 не работают отладочные макосы, например KdPrint.

A>>Очень похоже что в них отсутствует вся отладочная информация.

Так и есть. Например, если в WinDbg установить тип NTSTATUS для переменной — вываливает ошибку что не находит такой тип.
Если собрать Build-ом то все типы находит корректно.

B>А что говорит WinDbg/VisualDDK, если посмотреть NTSTATUS-переменную, собранную через Build? NTSTATUS или long? Если NTSTATUS, то какая в точности командная строка передается cl.exe?

Всё таки long я немного запутался

Попробовал тестировать NDIS\PassThru. Запуск осуществляется утилитой NetCfg (с параметрами).
При запуске вываливает "There is no source code available for the current location.", если нажать ОК и Ф5 всё работает корректно.

При завершении отладки не вызывается скрипт порописанный в Stopping Driver. Соответственно, драйвер не выгружается.
Не освобождается пайп(помогает только выгрузка ВС).

Я понимаю что данных не достаточно — как можно узнать в чём проблема, общий алгоритм действий?
Инструменты VS2008, XP SP3.

Из косметических улучшений, просьба сдалать чтобы VMMMON и DDKLaunchMonitor отображались в трее.

Логи.

VirtualKD
*******************************************************************************
*VirtualKD patcher DLL successfully loaded. Patching the GuestRPC mechanism...*
*******************************************************************************
Searching patch database for information about current executable...
Using RPC dispatcher table at 0x00B04AA0 (74 entries)
Waiting for RPC table to be initialized by VMWare...
RPC table initialized. Patching it...
Successfully patched entry #1


VS:
------- Attached to a remote kernel -------
VisualDDK Launcher: Trying to launch PassThru.sys
Successfully transferred e:\Projects\PassThru\Bin\x86\PassThru.sys to 192.168.2.2 (645K/s)...
Break instruction exception — code 80000003 (first chance)
*******************************************************************************
* *
* You are seeing this message because you pressed either *
* CTRL+C (if you run kd.exe) or, *
...
...
*******************************************************************************
VisualDDK Launcher: Successfully launched PassThru.sys
------- Evaluation complete in 0 ms -------
Re: VirtualKD v2.0 + VMM::Debugger params
От: pva  
Дата: 11.06.09 15:44
Оценка:
Привет,

в "Virtual Machine monitor" сейчас только "Debugger path...".
Замении на "Debugger options..."
* "Path: ___________ [...]"
* "Parameters: _________"
Причем Path можно проверять "по-умолчанию".
newbie
virtualkd feature request
Re[5]: VisualDDK 1.1 + VirtualKD 2.0
От: bazis1 Канада  
Дата: 11.06.09 17:47
Оценка:
Здравствуйте, airmaxx, Вы писали:

A>Здравствуйте, bazis1, Вы писали:


B>>Думаю, вместо, не есть лучшая идея. Возможно, сделаю дополнительную опцию, какой набор флагов использовать. Пока можно так: #ifdef _DEBUG \\ #define DBG 1 \\ #endif.

A>Использую обе опции, потому как без DBG 1 не работают отладочные макосы, например KdPrint.
Хм. Тогда проще всего #ifdef. Потом добавлю в Wizard-овский stdafx.h

A>>>Очень похоже что в них отсутствует вся отладочная информация.

A>Так и есть. Например, если в WinDbg установить тип NTSTATUS для переменной — вываливает ошибку что не находит такой тип.
A>Если собрать Build-ом то все типы находит корректно.
Напишите, пожалуйста, точные аргументы cl.exe в случае с BUILD и с VS. В ближайшее время посмотреть самому времени нет.

B>>А что говорит WinDbg/VisualDDK, если посмотреть NTSTATUS-переменную, собранную через Build? NTSTATUS или long? Если NTSTATUS, то какая в точности командная строка передается cl.exe?

A>Всё таки long я немного запутался

A>Попробовал тестировать NDIS\PassThru. Запуск осуществляется утилитой NetCfg (с параметрами).

A>При запуске вываливает "There is no source code available for the current location.", если нажать ОК и Ф5 всё работает корректно.
Это нормально, связано с тем, что при подключении к сессии WinDbg ставит breakpoint и отличить его от прямого вызова DbgBreakPoint() из программы нереально. Нажимайте F5, все будет работать.

A>При завершении отладки не вызывается скрипт порописанный в Stopping Driver. Соответственно, драйвер не выгружается.

Если попробовать запустить сессию заново (не перезагружая студию), появится окно VisualDDK console и там, вероятно, будет дополнительная информация, почему не удалось выгрузить.
A>Не освобождается пайп(помогает только выгрузка ВС).
И не должен. Если освобождать пайп, то каждый перезапуск отладочной сессии (после модификации драйвера) будет занимать по 10-20 секунд, пока загрузятся все символы и т.п. Если хотите принудительно освободить пайп, сделайте attach к несуществующему COM-порту; сессия сбросится.

A>Я понимаю что данных не достаточно — как можно узнать в чём проблема, общий алгоритм действий?

A>Инструменты VS2008, XP SP3.
По части выгрузки, посмотрите еще логи DDKMonitor на виртуальной машине. Может быть, там какая проблема? Запрос от хост-машины доходит?

A>Из косметических улучшений, просьба сдалать чтобы VMMMON и DDKLaunchMonitor отображались в трее.

VMMON — возможно. DDKLaunchMonitor — принципиально нет, так как в таком случае какой-нибудь доморощенный хакер Вася поставит его в качестве трояна на компьютер доморощенного юзера Пети, программа попадет в антивирусные базы и доказывай потом, что не верблюд. А делать аутентификацию, чем усложнять программу раза в 2, желания нет. Так что, пусть уж будет полностью заметным. Малость параноидально, но повторения ситуации с Aston-ом не хочу.
Re[2]: VirtualKD v2.0 + VMM::Debugger params
От: bazis1 Канада  
Дата: 11.06.09 17:49
Оценка:
Здравствуйте, pva, Вы писали:

pva>Привет,


pva>в "Virtual Machine monitor" сейчас только "Debugger path...".

pva>Замении на "Debugger options..."
pva> * "Path: ___________ [...]"
pva> * "Parameters: _________"
pva>Причем Path можно проверять "по-умолчанию".
По-умолчанию проверяется (на x64 "умолчания" разные для 32- и 64-битных программ). Если хочется задать parameters, для этого есть опция Custom.
Re[6]: VisualDDK 1.1 + VirtualKD 2.0
От: airmaxx http://perfect-coding.blogspot.com
Дата: 11.06.09 19:37
Оценка:
Обнаружил, что не отображаются строки в стуктурах UNICODE_STRING. Т.е. адрес есть и всё.
Например, на скриншоте http://visualddk.sysprogs.org/screenshots/watch.gif отчётливо видно что есть.
Пробовал в WinDBG есть, а в студии нет . Куда глянуть?

Здравствуйте, bazis1, Вы писали:

B>Хм. Тогда проще всего #ifdef. Потом добавлю в Wizard-овский stdafx.h

Спасибо, это будет полезно.

B>Напишите, пожалуйста, точные аргументы cl.exe в случае с BUILD и с VS. В ближайшее время посмотреть самому времени нет.

Попробую сам поиграться, потом отпишусь.

A>>При запуске вываливает "There is no source code available for the current location.", если нажать ОК и Ф5 всё работает корректно.

B>Это нормально, связано с тем, что при подключении к сессии WinDbg ставит breakpoint и отличить его от прямого вызова DbgBreakPoint() из программы нереально. Нажимайте F5, все будет работать.
ОК.

A>>Не освобождается пайп(помогает только выгрузка ВС).

B>И не должен.
B>...
B>...
B>сделайте attach к несуществующему COM-порту; сессия сбросится.
Понял.

B>По части выгрузки, посмотрите еще логи DDKMonitor на виртуальной машине. Может быть, там какая проблема? Запрос от хост-машины доходит?

Лог в ВМ:

Trying to receive %SystemRoot%\System32\Drivers\PassThru.sys from 192.168.2.1...
Opened TCP port 1032 for incoming file.
Incoming TCP connection from 192.168.2.1...
File successfully received.
Preparing to run command line: Z:\Projects\PassThru\Bin\_install.cmd
Running command line: Z:\Projects\PassThru\Bin\_install.cmd
Command "Z:\Projects\PassThru\Bin\_install.cmd" exited with code 0 (0x0)
Ping packet from 192.168.2.1...
Trying to receive %SystemRoot%\System32\Drivers\PassThru.sys from 192.168.2.1...
Opened TCP port 1033 for incoming file.
Incoming TCP connection from 192.168.2.1...
File successfully received.
Preparing to run command line: Z:\Projects\PassThru\Bin\_install.cmd
Running command line: Z:\Projects\PassThru\Bin\_install.cmd
Command "Z:\Projects\PassThru\Bin\_install.cmd" exited with code 0 (0x0)

VisualDDK после остановки и повторного запуска:

VisualDDK Launcher: PassThru.sys is already unloaded. Skipping stop sequence. (Драйвер остался в памяти)
------- Detached from a remote kernel -------
------- Attached to a remote kernel -------
VisualDDK Launcher: Trying to launch PassThru.sys
Successfully transferred e:\Projects\PassThru\Bin\x86\ATS.sys to 192.168.2.2 (1333K/s)...
VisualDDK Launcher: Successfully launched PassThru.sys
...
...
Re[7]: VisualDDK 1.1 + VirtualKD 2.0
От: bazis1 Канада  
Дата: 12.06.09 07:58
Оценка:
Здравствуйте, airmaxx, Вы писали:

A>Обнаружил, что не отображаются строки в стуктурах UNICODE_STRING. Т.е. адрес есть и всё.

A>Например, на скриншоте http://visualddk.sysprogs.org/screenshots/watch.gif отчётливо видно что есть.
A>Пробовал в WinDBG есть, а в студии нет . Куда глянуть?
Это связано с тем, что в C нет wchar_t. Проще всего собрать все компилятором C++ со встроенным wchar_t. В будущих версиях буду медленно переходить на полностью независимый от WinDbg DIA-движок для отображения переменных, поправлю. В текущей версии движка это довольно накладно (WinDbg не показывает строку при просмотре поля Buffer структуры UNICODE_STRING, а VisualDDK основан на нативном отображении обычных C-шных строк).

A>Лог в ВМ:

A>VisualDDK Launcher: PassThru.sys is already unloaded. Skipping stop sequence. (Драйвер остался в памяти)
A>------- Detached from a remote kernel -------
Если lm выполнить перед выгрузкой, ваш драйвер там будет? Может быть, он под другим именем отображается как-то? Имя SYS-файла идентично на хост- и виртуальной машинах? Что скажет студия в окне Output, если там включить сообщения о загрузке модулей (перед запуском драйвера)?
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 12.06.09 10:58
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Как всегда, "дошли руки" написать расширение к Visual Studio 2005/2008, позволяющее создавать проекты драйверов прямо из IDE, собирать и отлаживать их оттуда же. А заодно, автоматически отправлять файл драйвера на отладочную машину и запускать там заданную команду.

B>Сайт проекта тут: http://visualddk.sysprogs.org/
B>Quickstart guide здесь: http://visualddk.sysprogs.org/quickstart

B>Проект получился достаточно большим, поэтому будут интересны багрепорты и пожелания по части новых фич.


B>Да, расширение бесплатное и выложено с исходниками.


Я сам не пробовал, так как нет сейчас нужды, ну совершенно. Но наверняка отличная вешь, просто уверен! Давно было пора сделать.

Но так как есть большое любопытство, и вообще бы некоторым товарищам ТУТ было бы полезно продемонстрировать как важно бывает быть трудолюбивыми. — расскажите, насколько велико число скачиваний. И какие меры Вы принимаете для раскрутки продукта. Просто как то давно было много скептиков. И может можно будет посоветовать Вам как еще увеличить "известность" вашей замечательной программы.
Re[3]: VirtualKD v2.0 + VMM::Debugger params
От: pva  
Дата: 12.06.09 13:15
Оценка:
Здравствуйте, bazis1, Вы писали:

pva>>Причем Path можно проверять "по-умолчанию".

B>По-умолчанию проверяется (на x64 "умолчания" разные для 32- и 64-битных программ).
По умолчанию у меня ничего не нашло. WinXP Pro SP3 En, WDK + Debugging Tools

B>Если хочется задать parameters, для этого есть опция Custom.

Так и сделал, но пришлось добавить .cmd файл в систему, что не очень хорошо.

По GUI. При закрытии гостя в мониторе остается строчка со статистикой, которую нет способа очистить.
newbie
Re[4]: VirtualKD v2.0 + VMM::Debugger params
От: bazis1 Канада  
Дата: 12.06.09 20:27
Оценка:
Здравствуйте, pva, Вы писали:

pva>Здравствуйте, bazis1, Вы писали:


pva>>>Причем Path можно проверять "по-умолчанию".

B>>По-умолчанию проверяется (на x64 "умолчания" разные для 32- и 64-битных программ).
pva>По умолчанию у меня ничего не нашло. WinXP Pro SP3 En, WDK + Debugging Tools
Если не в program files, то без вариантов, так как WinDbg себя в реестре нигде не прописывает. Разве что, в uninstall, может быть.
Re[5]: ???
От: bazis1 Канада  
Дата: 13.06.09 18:34
Оценка:
А>зы
А>всего лиш высказал свое имхо
А>вы вольны его игнорировать
Я правильно понял ваше ИМХО, что лучше менее функциональный проект через полгода на C, чем более функциональный и не тормозящий проект сейчас, но на C#? Если честно, не вижу логики. Что с того, что некоторые (да пусть хоть все остальные) проекты на C# тормозят, если конкретно этот работает нормально?
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 14.06.09 07:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Но так как есть большое любопытство, и вообще бы некоторым товарищам ТУТ было бы полезно продемонстрировать как важно бывает быть трудолюбивыми. — расскажите, насколько велико число скачиваний. И какие меры Вы принимаете для раскрутки продукта. Просто как то давно было много скептиков. И может можно будет посоветовать Вам как еще увеличить "известность" вашей замечательной программы.

Да вопрос не в трудолюбии, а в оптимизации порядком задолбавшей в свое время рутины... А так, гугл в помощь...
Re[3]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 14.06.09 10:50
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Здравствуйте, Аноним, Вы писали:


А>>Но так как есть большое любопытство, и вообще бы некоторым товарищам ТУТ было бы полезно продемонстрировать как важно бывает быть трудолюбивыми. — расскажите, насколько велико число скачиваний. И какие меры Вы принимаете для раскрутки продукта. Просто как то давно было много скептиков. И может можно будет посоветовать Вам как еще увеличить "известность" вашей замечательной программы.

B>Да вопрос не в трудолюбии, а в оптимизации порядком задолбавшей в свое время рутины... А так, гугл в помощь...

Да, нет Насколько мне известно, "ваша" идея, вот ровно один в один, была начата некоторыми известными товарищами из этого форума, пару-тройку лет назад. Начата и так и не закончена, видимо из-за недостатка трудолюбия и усердия. Так что простите если я Вас несколько разочаровал — в том что эта "ваша идея" нова и оригинальна. Так что именно поэтому я и интересуюсь — насколько успешно у вас идет скачивание. А Вы что подумали? Да, всё придумали до нас, но важна не идея а — реализация, упорство, вера в успех, и трудолюбие. Но в _то_ время эта идея казалась очень смелой, ну может и по этому не все тогда верили в успех. Но как пример, того — что надо верить "умным" людям, она очень хороша. Успехов.
Re[5]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 14.06.09 15:56
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Здравствуйте, Аноним, Вы писали:


А>>Да, нет Насколько мне известно, "ваша" идея, вот ровно один в один, была начата некоторыми известными товарищами из этого форума, пару-тройку лет назад. Начата и так и не закончена, видимо из-за недостатка трудолюбия и усердия. Так что простите если я Вас несколько разочаровал — в том что эта "ваша идея" нова и оригинальна. Так что именно поэтому я и интересуюсь — насколько успешно у вас идет скачивание. А Вы что подумали? Да, всё придумали до нас, но важна не идея а — реализация, упорство, вера в успех, и трудолюбие. Но в _то_ время эта идея казалась очень смелой, ну может и по этому не все тогда верили в успех. Но как пример, того — что надо верить "умным" людям, она очень хороша. Успехов.


B>Идее этой, думаю, столько же лет, сколько Visual Studio и WinDbg. У меня не более чем "руки дошли". И дело тут, повторюсь, не в трудолюбии, а в нормальной архитектуре и планировании времени, не более того. Без оных, Ваше любимое трудолюбие будет лишь плодить строки и килобайты, ничуть не приближая релиз нормальной версии. А скачивание идёт, куда ж оно денется...

B>P.S. А почему анонимно, раз Вы тут такой старожил?

Гадать, сколько лет идее, глупо — Но сообственно — о чем речь? На идеи патента нет

Уточнил, за ради любопытства — идее больше трех лет. Мое "любимое" трудолюбие, как Вы выразились — означает в частности то что если бы тогда идею довели бы до конца, то у тех господ программистов был бы продукт, уже причем пару лет назад. И вот и все. Не бросили бы его, а доделали. А бросили его по причине лени. ИМХО. Но не суть.

Ваше прямолинейное трактование трудолюбия узко. Трудолюбие это комплексное понятие — хочется/нехочется, сильная мотивация. Но давайте пересанем спорить о чепухе, а тот мне начинает казаться, что Вы огорчились, из за моего поста. Плюньте, считайте что этот пост для тех "старожилов", как Вы выразились.

Аноним? Да просто пароль забыл Да и не надо ужо тытысь нонче.



А идея четыре года назад 2005 год. Была чесьма свежа, и переспективна, еще небыло даже 2008 студии, и у некоторых тогда помнится были совмнения — а вдруг сделают в 2008. Но какая разница? Вы реализивали идею, в "яви" — молодец. Жаль только что само айти уже не то и будет, если можно так выразиться еще более не тем. Власть в МС-е "взяли" индусы — теперь им уже не продастся совсем. Да и кризис. Одним словом, все что не далется все делается к лучшему.

Еще раз успехов Вам, за сим прощаюсь.
Re[8]: VisualDDK 1.1 + VirtualKD 2.0
От: airmaxx http://perfect-coding.blogspot.com
Дата: 22.06.09 21:05
Оценка:
Прошу прощения за долгий перерыв. Возвращаюсь к теме.

B>Это связано с тем, что в C нет wchar_t. Проще всего собрать все компилятором C++ со встроенным wchar_t. В будущих версиях буду медленно переходить на полностью независимый от WinDbg DIA-движок для отображения переменных, поправлю. В текущей версии движка это довольно накладно (WinDbg не показывает строку при просмотре поля Buffer структуры UNICODE_STRING, а VisualDDK основан на нативном отображении обычных C-шных строк).

Ок, пока обойдусь без строк, позже переведу.

B>Если lm выполнить перед выгрузкой, ваш драйвер там будет?

...
f0873000 f087f000 PassThru (private pdb symbols) E:\Projects\ATS\Bin\x86\PassThru.pdb
...

B>Имя SYS-файла идентично на хост- и виртуальной машинах?

Имя идентично.

B>Что скажет студия в окне Output, если там включить сообщения о загрузке модулей (перед запуском драйвера)?


Loaded PassThru.sys at 0xF0873000
PassThru: Init()
Re: VisualDDK 1.2 - исправлено несколько багов
От: bazis1 Канада  
Дата: 01.07.09 17:51
Оценка:
http://visualddk.sysprogs.org/
Re[2]: VisualDDK 1.2 - исправлено несколько багов
От: _Nkey_ Беларусь  
Дата: 02.07.09 14:37
Оценка:
Здравствуйте, bazis1, Вы писали:

B>http://visualddk.sysprogs.org/


На SourceForge не качается чего-то.
Re[3]: VisualDDK 1.2 - исправлено несколько багов
От: bazis1 Канада  
Дата: 02.07.09 17:30
Оценка:
Здравствуйте, _Nkey_, Вы писали:

_N_>Здравствуйте, bazis1, Вы писали:


B>>http://visualddk.sysprogs.org/


_N_>На SourceForge не качается чего-то.

Sourceforge, судя по всему, лежит. Видимо, ребрендинг боком пошел.
Вот прямая ссылка: http://garr.dl.sourceforge.net/sourceforge/visualddk/VisualDDK-1.2.exe
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Ringin  
Дата: 17.07.09 09:26
Оценка:
Здравствуйте, bazis1, Вы писали:

Перечитал уже несколько раз QuickStart, и вообще все что смог найти по этой теме, сам драйвера никогда не писал, в этом направление полный чайник.
Создал проект, но никак не получается его запустить на отладку. Вроде как все поставилось, тестовая винда грузится, WinDbg запускается, DDKLaunchMonitor показывает что что-то идет, но при попыке запука отладки я получаю: "Attaching the DDK debugger to process '[0] System' on machine 'Имя моей машины' failed."

Обязательно ставить DDK и WDK? У меня сейчас есть только WDK который шел с msdn подпиской?
установка прошла успешно без указания пути к DDK.

Моя машина: Windows XP x64 Sp2, тестовая система на VirtualBox Windows XP Sp3

Как устанавливал: поставил WinDbg, поставил VirtualBox, поставил туда WinXP, заменил в VirtualBox VBoxDD.dll, скопировал на тестовую систему в system32\drivers kdvm.dll и kdpatch.sys, в boot.ini добавил /debug /debugport=VM.

Как запускаю: Запускаю VirtualBox, запускаю из него систему, дальше она ожидает пока я не запущу vmmon64, запускаю vmmon64 выбираю в списке свою систему, жму Run Debugger, запускается WinDbg, и тестовая система продолжает загрузку. Запускаю VisualStudio создаю проект VisualDDK, Дальше открываю Driver Launch Settings, выбираю:
VMWare Virtual Machine — WinXP
Target machine hostname or IP — 192.168.56.101(Ip адрес сетевой карты в тестовой системе)
Driver file path on the target machine: %SystemRoot%\System32\Drivers\test.sys
Enable a PnP device with Hardware ID — \root\mydriver
Disable a PnP device with hardware ID — \root\mydriver

Далее жму Launch, и вылетает ошибка: Attaching the DDK debugger to process '[0] System' on machine 'Имя моей машины' failed.

Подскажите, что я не правильно делаю?
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: x64 Россия http://x64blog.name
Дата: 17.07.09 15:18
Оценка:
R>Далее жму Launch, и вылетает ошибка: Attaching the DDK debugger to process '[0] System' on machine 'Имя моей машины' failed.

Кстати, автор, а почему у тебя у процесса ядра ID равен 0? Должен быть 4. Или это не ID процесса в скобках?
JID: x64j@jabber.ru
Re[3]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Ringin  
Дата: 17.07.09 19:06
Оценка:
Здравствуйте, x64, Вы писали:

R>>Далее жму Launch, и вылетает ошибка: Attaching the DDK debugger to process '[0] System' on machine 'Имя моей машины' failed.


x64>Кстати, автор, а почему у тебя у процесса ядра ID равен 0? Должен быть 4. Или это не ID процесса в скобках?


Да откуда я знаю, я ему ничего не говорил, какой процесс, что мне выдал, то и написал!

А вы как-то можете мне помочь? Я пытался максимально описать что делал, и суть проблемы.
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 28.07.09 11:17
Оценка:
Здравствуйте, Ringin, Вы писали:
Правила форума нарушены.
— оверквотинг
Правила можно найти в разделе FAQ данного форума и\или ресурса.
Нарушение правил может повлечь за собой санкции, описанные там же — модератор
R>Подскажите, что я не правильно делаю?

После многочисленных попыток поставил 32 разрядную винду, и о чудо, заработало!!!

Но запустить на отладку так и не получилось, я так понимаю что драйвер копируется в гостивую систему, и там его надо как-то загрузить и запустить, как это делается? Сейчас у меня только скомпилирован тот шаблон который VisualDDK создает по умолчанию.
Re[3]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 28.07.09 13:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Ringin, Вы писали:


R>>Подскажите, что я не правильно делаю?


А>После многочисленных попыток поставил 32 разрядную винду, и о чудо, заработало!!!


А>Но запустить на отладку так и не получилось, я так понимаю что драйвер копируется в гостивую систему, и там его надо как-то загрузить и запустить, как это делается? Сейчас у меня только скомпилирован тот шаблон который VisualDDK создает по умолчанию.


Патч к VirtualKD для VirtualBox 3.x (ссылка есть на http://virtualkd.sysprogs.org/) ставили?
Re[4]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 29.07.09 06:55
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Патч к VirtualKD для VirtualBox 3.x (ссылка есть на http://virtualkd.sysprogs.org/) ставили?


Конечно! Без него вообще ничего не работало.
Re[4]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 29.07.09 12:51
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Патч к VirtualKD для VirtualBox 3.x (ссылка есть на http://virtualkd.sysprogs.org/) ставили?


Сейчас дошел до того, отладка запускается, вроде все нормально, но если что-то меняю, делаю Build, то все..... Начинается что-то странное, то новый файл драйвера загрузится на тестовую систему не может, то еще что-то

И очень часто вылетает такая ошибка

---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Assertion failed!

Program: ...
File: e:\projects\cvsed\mixed\visualddk\ddkde...\ddkport.h
Line: 396

Expression: !m_pQueuedSynchronousEvents

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application — JIT must be enabled)
---------------------------
Прервать Повтор Пропустить
---------------------------

Re[5]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 29.07.09 14:31
Оценка:
А драйвер перед пересборкой выгружается? Если нет, то PDB-файл будет висеть открытым и пересобрать ничего не получится.
С ассертом буду смотреть.
Debugging Tools последней версии?
Re[6]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 30.07.09 06:55
Оценка:
Здравствуйте, bazis1, Вы писали:

B>А драйвер перед пересборкой выгружается? Если нет, то PDB-файл будет висеть открытым и пересобрать ничего не получится.

B>С ассертом буду смотреть.
B>Debugging Tools последней версии?

Я его пробовал принудительно руками, каждый раз останавливать и удалять на тестовой системе.

WinDbg:6.11.0001.404
Версия 5.1

На 64 разрядной машине Версия 5.2, но там вообще ничего не заработало
Re[4]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 30.07.09 11:01
Оценка:
---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Assertion failed!

Program: ...
File: e:\projects\cvsed\mixed\visualdd...\msdbgs...ion.cpp
Line: 1340

Expression: m_BreakReason == BreakUnknown

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

(Press Retry to debug the application — JIT must be enabled)
---------------------------
Прервать Повтор Пропустить
---------------------------

Что-то очень часто такое вылетает
Re[5]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Аноним  
Дата: 30.07.09 11:07
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Что-то очень часто такое вылетает


А еще очень часто такое появляется, и студию не закрыть по нормальному!

---------------------------
Microsoft Visual Studio
---------------------------
Microsoft Visual Studio cannot shut down because a modal dialog is active. Close the active dialog and try again.
---------------------------
ОК
---------------------------



А вообще мне кажется что все эти ошибки из-за багов самой студии!
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: -prus-  
Дата: 01.08.09 10:13
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Как всегда, "дошли руки" написать расширение к Visual Studio 2005/2008, позволяющее создавать проекты драйверов прямо из IDE, собирать и отлаживать их оттуда же. А заодно, автоматически отправлять файл драйвера на отладочную машину и запускать там заданную команду.

B>Сайт проекта тут: http://visualddk.sysprogs.org/
B>Quickstart guide здесь: http://visualddk.sysprogs.org/quickstart

B>Проект получился достаточно большим, поэтому будут интересны багрепорты и пожелания по части новых фич.


B>Да, расширение бесплатное и выложено с исходниками.


Скажите плз, по каким причинам, когда я хочу запустить и отладить через "Drbug->Driver Launch Settings...->Launch", то мне показывают сообщение
"Attaching te DDK debugger to process '[0] System' оn machine 'тут_id_моего_компа(не vmware который)' failed".
Вроде устанавливал все по инструкции. WinDBG запущен, wmmon тоже... Не могу сообразить.

Заранее благодарен.
С уважением,
Евгений
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: -prus-  
Дата: 01.08.09 11:36
Оценка:
Здравствуйте, -prus-, Вы писали:

P>Здравствуйте, bazis1, Вы писали:


B>>Как всегда, "дошли руки" написать расширение к Visual Studio 2005/2008, позволяющее создавать проекты драйверов прямо из IDE, собирать и отлаживать их оттуда же. А заодно, автоматически отправлять файл драйвера на отладочную машину и запускать там заданную команду.

B>>Сайт проекта тут: http://visualddk.sysprogs.org/
B>>Quickstart guide здесь: http://visualddk.sysprogs.org/quickstart

B>>Проект получился достаточно большим, поэтому будут интересны багрепорты и пожелания по части новых фич.


B>>Да, расширение бесплатное и выложено с исходниками.


P>Скажите плз, по каким причинам, когда я хочу запустить и отладить через "Drbug->Driver Launch Settings...->Launch", то мне показывают сообщение

P>"Attaching te DDK debugger to process '[0] System' оn machine 'тут_id_моего_компа(не vmware который)' failed".
P>Вроде устанавливал все по инструкции. WinDBG запущен, wmmon тоже... Не могу сообразить.

P>Заранее благодарен.


Разобрался...
Только вот теперь не получается поотлаживать из-за того, что символы не ципляются.
Прописал в "Tools->VisualDDK Settings..." папку, куда символы скачал, а при запуске все равно пишет, что тапа символы не загружены.
Как это побороть?
С уважением,
Евгений
Re[3]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 03.08.09 11:53
Оценка:
Здравствуйте, -prus-, Вы писали:
Правила форума нарушены.
— оверквотинг
Правила можно найти в разделе FAQ данного форума и\или ресурса.
Нарушение правил может повлечь за собой санкции, описанные там же — модератор
P>Разобрался...
P>Только вот теперь не получается поотлаживать из-за того, что символы не ципляются.
P>Прописал в "Tools->VisualDDK Settings..." папку, куда символы скачал, а при запуске все равно пишет, что тапа символы не загружены.
P>Как это побороть?

А в свойствах самой студии символы прописаны? Какое конкретно выдается сообщение о незагруженных символах? WinDbg-шный движок пишет, что symbols not found при любых попытках прорезолвить несуществующий символ. Надо окно Autos закрыть.
Re[4]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: -prus-  
Дата: 03.08.09 18:49
Оценка:
Здравствуйте, bazis1, Вы писали:

B>А в свойствах самой студии символы прописаны? Какое конкретно выдается сообщение о незагруженных символах? WinDbg-шный движок пишет, что symbols not found при любых попытках прорезолвить несуществующий символ. Надо окно Autos закрыть.


Сначала студия пишет, что символы не загружены. Жму ОК и начинается выкачивание символов (выкачивает при первом запуске только). С этим уже вроде ОК.
А после выкачивания символов студия показывает окно "There is no source code available for the current location." и мой брейк поинт не работает. В самой студии путь к файлу символов прописал.
Скажите, а драйвер обязательно через "Установка оборудования" устанавливать?
С уважением,
Евгений
Re[5]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 04.08.09 17:03
Оценка:
Здравствуйте, -prus-, Вы писали:

P>Здравствуйте, bazis1, Вы писали:


B>>А в свойствах самой студии символы прописаны? Какое конкретно выдается сообщение о незагруженных символах? WinDbg-шный движок пишет, что symbols not found при любых попытках прорезолвить несуществующий символ. Надо окно Autos закрыть.


P>Сначала студия пишет, что символы не загружены. Жму ОК и начинается выкачивание символов (выкачивает при первом запуске только). С этим уже вроде ОК.

P>А после выкачивания символов студия показывает окно "There is no source code available for the current location." и мой брейк поинт не работает. В самой студии путь к файлу символов прописал.
P>Скажите, а драйвер обязательно через "Установка оборудования" устанавливать?

Нет, можно через DPInst, или чем-нибудь еще. Legacy-драйвер можно с помощью srvman установить, например. В списке модулей (ctrl+alt+u или debug->windows->modules) ваш драйвер есть? Если нет, видимо, неправильно устанавливаете.
Re[6]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: -prus-  
Дата: 04.08.09 17:41
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Нет, можно через DPInst, или чем-нибудь еще. Legacy-драйвер можно с помощью srvman установить, например. В списке модулей (ctrl+alt+u или debug->windows->modules) ваш драйвер есть? Если нет, видимо, неправильно устанавливаете.


Я пробовал и через визард и через InstDriver. Все равно что-то не так...
Вроде VMWare настроил как нужно, запустил там DDKLaunchMonitor, драйвер копируется туда. Один раз получилось как-то запустить, но мой брейк поинт перескочил на начало функции как-то, а при навидении на некоторые функции драйвера курсора студия показывала мне ядерные их адреса. Но более ничего не удалось сделать.
Что-то я не так делаю. Непонятно пока. Буду разбираться внимательно.

А что с сообщением студии делать ("There is no source code available for the current location.") ?
С уважением,
Евгений
Re[7]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 05.08.09 19:41
Оценка:
Здравствуйте, -prus-, Вы писали:

P>Здравствуйте, bazis1, Вы писали:


B>>Нет, можно через DPInst, или чем-нибудь еще. Legacy-драйвер можно с помощью srvman установить, например. В списке модулей (ctrl+alt+u или debug->windows->modules) ваш драйвер есть? Если нет, видимо, неправильно устанавливаете.


P>Я пробовал и через визард и через InstDriver. Все равно что-то не так...

P>Вроде VMWare настроил как нужно, запустил там DDKLaunchMonitor, драйвер копируется туда. Один раз получилось как-то запустить, но мой брейк поинт перескочил на начало функции как-то, а при навидении на некоторые функции драйвера курсора студия показывала мне ядерные их адреса. Но более ничего не удалось сделать.
P>Что-то я не так делаю. Непонятно пока. Буду разбираться внимательно.

P>А что с сообщением студии делать ("There is no source code available for the current location.") ?

Разбираться, почему не грузятся символы: либо не загружается сам драйвер (какой типа драйвера? legacy или WDM? и т.п.), либо проблема с PDB-файлом, что вряд ли. Да, разумеется, отлаживать надо Debug-сборку. Могу повторить про список модулей в студии (сначала надо остановить выполнение, нажав "break execution").
Re[8]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: -prus-  
Дата: 10.08.09 12:16
Оценка:
Здравствуйте, bazis1, Вы писали:

P>>А что с сообщением студии делать ("There is no source code available for the current location.") ?

B>Разбираться, почему не грузятся символы: либо не загружается сам драйвер (какой типа драйвера? legacy или WDM? и т.п.), либо проблема с PDB-файлом, что вряд ли. Да, разумеется, отлаживать надо Debug-сборку. Могу повторить про список модулей в студии (сначала надо остановить выполнение, нажав "break execution").

Вроде уже брекпоинт ловит.
Правда почему-то это все дело не спервого раза заводится.
Еще частенько бывает, что в редакторе кода становится нельзя ничего делать, работать становится невозможно, а при закрытии студии показывают окно

"Microsoft Visual Studio cannot shut down because a modal dialog is active. Close the modal dialog and try again".


Никаких модальных диалогов я не наблюдаю при этом.
Причем это все происходит иногда во время отладки и поотлаживать толком не получаетя, т.к., как говорил, редактор кода неактивен.
С уважением,
Евгений
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Denwer Россия  
Дата: 12.08.09 01:41
Оценка:
Вот че мне инсталлер написал:

Setting up VisualDDK...
---------------------------
DDKDebugger-dbg.dll registration failed: System.DllNotFoundException: Unable to load DLL 'DDKDebugger-dbg.dll': This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
at VisualDDKSetup.DDKDebuggerDbgDLL.DllRegisterServer()
at VisualDDKSetup.DDKDebuggerDbgDLL.Register() in E:\PROJECTS\cvsed\mixed\VisualDDK\VisualDDKSetup\InstallDialog.cs:line 488
at VisualDDKSetup.InstallDialog.RegisterUnregisterDLL(IDllRegister reg, String Name, Boolean& Failed, Boolean Register) in E:\PROJECTS\cvsed\mixed\VisualDDK\VisualDDKSetup\InstallDialog.cs:line 66
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: Максим2006 Беларусь  
Дата: 03.09.09 14:19
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Вот че мне инсталлер написал:


[]

Мне тоже такое написал. И не доступны VisualDDK Settings и транспорт Kernel-Mode connections не появился. Из-за чего может быть такое? Не может ли быть конфликта с DriverStudio?
WinXPSP2/VS2005/VisualDDK1.2
Re: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: MTimur  
Дата: 10.09.09 16:44
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Как всегда, "дошли руки" написать расширение к Visual Studio 2005/2008, позволяющее создавать проекты драйверов прямо из IDE, собирать и отлаживать их оттуда же. А заодно, автоматически отправлять файл драйвера на отладочную машину и запускать там заданную команду.


такая вот мелочь
Re[2]: Покритикуйте расширение к VStudio, заменяющее WinDbg
От: bazis1 Канада  
Дата: 13.09.09 13:03
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Вот че мне инсталлер написал:


D>Setting up VisualDDK...

D>---------------------------
D>DDKDebugger-dbg.dll registration failed: System.DllNotFoundException: Unable to load DLL 'DDKDebugger-dbg.dll': This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
D> at VisualDDKSetup.DDKDebuggerDbgDLL.DllRegisterServer()
D> at VisualDDKSetup.DDKDebuggerDbgDLL.Register() in E:\PROJECTS\cvsed\mixed\VisualDDK\VisualDDKSetup\InstallDialog.cs:line 488
D> at VisualDDKSetup.InstallDialog.RegisterUnregisterDLL(IDllRegister reg, String Name, Boolean& Failed, Boolean Register) in E:\PROJECTS\cvsed\mixed\VisualDDK\VisualDDKSetup\InstallDialog.cs:line 66

Что скажет dependency walker на файл DDKDebugger-dbg.dll? Видимо, каких-то DLL нет в системе. Можно снять флажок с "register debug version of DLL".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.