|
|
|
проблема с настройкой VS2010+VirtualDDK+VirtualBox
|
|||
|---|---|---|---|
|
#18+
Уважаемые участники форума, прошу вас помочь мне решить возникшую проблему, т.к. толковых ответов в Сети я так и не смог найти. Есть VS2010 + VisualDDK 1.5.6 + VirtualBox 4.2. Я пытаюсь разработать свой первый драйвер (так как опыта совсем нет, то естественно по мануалу от VisualDDK). Установку и настройку провел точь-в-точь по инструкции. После установки необходимого для работы VisualDDK на виртуальную машину (DDKLaunchMonitor и добавления режима запуска с отладчиком в boot-меню) виртуальная машина перестала запускаться - виснет на экране с надписью Запуск Windows еще до появления лого (на виртуалке стоит Win7). В обычном режиме запускается без проблем. Повторная установка этого все на свежую машину не помогла. Подскажите, куда глянуть, где подкрутить, чтобы это все заработало. Тут же проблема возникла и в VS2010: при создании нового проекта (выбираю шаблон VisualDDK driver wizard) после заполнения необходимой информации создаются файлы проекта, но процесс прерывается сообщением " The ConfigurationGeneral rule is missing from the project ". Может ли это означать что шаблоны кривые? При попытке загрузки шаблонов проектов драйверов тоже выскакивает ошибка (дословно не помню, но что-то связанное с соединением с bazislib.sysprog.org, причем сам сам этот ресурс свободно открывается через браузер). В общем за три дня копания и переустановки всего подряд до написания код дело так и не дошло. Если кто сталкивался с подобными проблемами, опишите, пожалуйста, подробно, какие меры были приняты для устранения их, а то я сам уже устал переустанавливать VS, VDDK, VB и все, что с ними связано. Заранее всем благодарен =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2012, 15:32 |
|
||
|
проблема с настройкой VS2010+VirtualDDK+VirtualBox
|
|||
|---|---|---|---|
|
#18+
Кажется, с созданием проекта, загрузкой шаблонов решил. Да и с запуском виртуальной машины в дебаг-режиме тоже пробвинулся на полшага. Теперь дебаггер на хосте видит машину и даже пытается завязать общение, но появляется И после этого по "Прервать" закрывается Visual studio, по "Пропустить" или "Повторить" дебаггер пытается отправить еще что-нибудь, и после отправки снова вываливает это сообение. Вот что он шлет виртуалке на "Повторить" (сама виртуалка в этот момент висит на этапе запуска виндов): 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=40, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. KdReadVirtual(82850500, 8) returns 00000000, 8 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=b8, PacketId=80800000, READ: Received Type 2 data packet with id = 80800000 successfully. KdReadVirtual(82850518, 80) returns 00000000, 80 Вот что пишет на "Пропустить" (очень-очень длинный текст): Exception in debugger client IDebugEventCallbacks::LoadModule callback. PC: 5cb130e4 VA: 00000000 R/W: 0 Parameter: 00000000 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=304, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. DbgKdGetContext(PC 82850508, SP 00183da4) returns 00000000 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=8c, PacketId=80800000, READ: Received Type 2 data packet with id = 80800000 successfully. DbgKdReadControlSpace returns 00000000 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=60, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. KdReadVirtual(80b95008, 28) returns 00000000, 28 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=38, PacketId=80800000, READ: Received Type 2 data packet with id = 80800000 successfully. DbgKdSetContext(PC 82850509, SP 00183da4) returns 00000000 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=8c, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. DbgWriteControlSpace returns 00000000 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=304, PacketId=80800000, READ: Received Type 2 data packet with id = 80800000 successfully. DbgKdGetContext(PC 82850509, SP 00183da4) returns 00000000 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=8c, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. DbgKdReadControlSpace returns 00000000 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. DbgKdContinue(10002,10002) returns 00000000 READ: Wait for type 7 packet PacketType=7, ByteCount=112, PacketId=80800000, READ: Received Type 7 data packet with id = 80800000 successfully. READ: Packet type = 7, KdApi64 = 1 >>> State change event 3031, proc 0 of 1, str '\SystemRoot\system32\halmacpi.dll' WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=78, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. KdReadVirtual(82800000, 40) returns 00000000, 40 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=3c, PacketId=80800000, READ: Received Type 2 data packet with id = 80800000 successfully. KdReadVirtual(828000e8, 4) returns 00000000, 4 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=12c, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. KdReadVirtual(828000ec, f4) returns 00000000, f4 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=218, PacketId=80800000, READ: Received Type 2 data packet with id = 80800000 successfully. KdReadVirtual(828001e0, 1e0) returns 00000000, 1e0 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=b8, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. KdReadVirtual(8282c00c, 80) returns 00000000, 80 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=b8, PacketId=80800000, READ: Received Type 2 data packet with id = 80800000 successfully. KdReadVirtual(8282c4ba, 80) returns 00000000, 80 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=b8, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. KdReadVirtual(82801320, 80) returns 00000000, 80 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=b8, PacketId=80800000, READ: Received Type 2 data packet with id = 80800000 successfully. KdReadVirtual(82801d28, 80) returns 00000000, 80 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800001, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=40, PacketId=80800001, READ: Received Type 2 data packet with id = 80800001 successfully. KdReadVirtual(82850500, 8) returns 00000000, 8 WRITE: Write type 2 packet READ: Wait for ACK packet PacketType=4, ByteCount=0, PacketId=80800000, READ: Received correct ACK packet. READ: Wait for type 2 packet PacketType=2, ByteCount=b8, PacketId=80800000, READ: Received Type 2 data packet with id = 80800000 successfully. KdReadVirtual(82850518, 80) returns 00000000, 80 Может кто-нибудь из участников видел похожее? Буду рад получить хоть какой-нибудь совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2012, 02:54 |
|
||
|
проблема с настройкой VS2010+VirtualDDK+VirtualBox
|
|||
|---|---|---|---|
|
#18+
Долго нажимал на "Пропустить" и наконец, запустился дбеггер в VS. При этом в окне он мне написал следующее: ------- Attached to a remote kernel ------- VisualDDK Launcher: Target OS is not completely started. Automatic driver loading will only work when the Win32 subsystem is running and VisualDDK launch monitor is active. Please resume debugging, let the OS start, run VisualDDK monitor on the target machine and re-launch your driver. ------- Evaluation complete in 0 ms ------- Connected to Windows 7 7601 x86 compatible target at (Sat Oct 20 16:34:13.811 2012 (UTC + 4:00)), ptr64 FALSE Unable to add module at 82815000 WARNING: .reload failed, module list may be incomplete Unable to add module at 82815000 WARNING: .reload failed, module list may be incomplete Loading Kernel Symbols .Unable to add module at 82c18000 .Unable to add module at 80ba3000 .Unable to add module at 8743d000 .Unable to add module at 874c2000 .Unable to add module at 874d3000 .Unable to add module at 874db000 .Unable to add module at 8751d000 .Unable to add module at 875c8000 .Unable to add module at 875d6000 .Unable to add module at 87647000 .Unable to add module at 87655000 .Unable to add module at 8769d000 .Unable to add module at 876a6000 .Unable to add module at 876ae000 .Unable to add module at 876d8000 .Unable to add module at 876e3000 .Unable to add module at 876f4000 .Unable to add module at 876fc000 .Unable to add module at 87707000 .Unable to add module at 87717000 .Unable to add module at 87762000 .Unable to add module at 87769000 .Unable to add module at 87777000 .Unable to add module at 8778d000 .Unable to add module at 87796000 .Unable to add module at 877b9000 .Unable to add module at 877c3000 .Unable to add module at 877cc000 .Unable to add module at 87400000 .Unable to add module at 87828000 .Unable to add module at 87957000 .Unable to add module at 87982000 .Unable to add module at 87995000 .Unable to add module at 879f2000 .Unable to add module at 87a11000 .Unable to add module at 87a1f000 .Unable to add module at 87a28000 .Unable to add module at 87adf000 .Unable to add module at 87b1d000 .Unable to add module at 87c25000 .Unable to add module at 87d70000 .Unable to add module at 87da1000 .Unable to add module at 87daa000 .Unable to add module at 87de9000 .Unable to add module at 87df1000 .Unable to add module at 87e1e000 .Unable to add module at 87e2e000 .Unable to add module at 87e36000 .Unable to add module at 87e68000 .Unable to add module at 87e79000 Loading User Symbols Loaded PDB symbols for 0 out of 0 modules Насколько я понял, тут у него возникли проблемы с загрузкой модулей, о невалидности которых он мне сообщал в предыдущих сообщениях. По всей видимости это связано с debug-символами винды. Я их все установил в каталог, указал путь в студии, в настройках Virtual DDK. Ничего не изменилось. И вот вопрос - где же надо настроить путь к символам, какой этот путь должен быть и действительно ли именно символы (их отсутствие) являются причиной неработоспособности дебаггера? Запустил виртуалку и Virtual Machine Monitor. Оттуда запустился WinDBG (путь к символам я там указал), а тот показал мне следующее: Microsoft (R) Windows Debugger Version 6.12.0002.633 X86 Copyright (c) Microsoft Corporation. All rights reserved. Opened \\.\pipe\kd_Win7x86Test Waiting to reconnect... Connected to Windows 7 7601 x86 compatible target at (Sat Oct 20 16:52:42.636 2012 (UTC + 4:00)), ptr64 FALSE Kernel Debugger connection established. (Initial Breakpoint requested) Symbol search path is: C:\symbols.net; http://msdl.microsoft.com/download/symbols Executable search path is: Windows 7 Kernel Version 7601 MP (1 procs) Free x86 compatible Built by: 7601.17803.x86fre.win7sp1_gdr.120330-1504 Machine Name: Kernel base = 0x8280e000 PsLoadedModuleList = 0x8294e230 System Uptime: not available Sat Oct 20 16:52:51.341 2012 (UTC + 4:00): Break instruction exception - code 80000003 (first chance) ******************************************************************************* * * * You are seeing this message because you pressed either * * CTRL+C (if you run kd.exe) or, * * CTRL+BREAK (if you run WinDBG), * * on your debugger machine's keyboard. * * * * THIS IS NOT A BUG OR A SYSTEM CRASH * * * * If you did not intend to break into the debugger, press the "g" key, then * * press the "Enter" key now. This message might immediately reappear. If it * * does, press "g" and "Enter" again. * * * ******************************************************************************* nt!RtlpBreakWithStatusInstruction: 82866cf0 cc int 3 kd> g Sat Oct 20 16:53:41.334 2012 (UTC + 4:00): Break instruction exception - code 80000003 (first chance) *** ERROR: Module load completed but symbols could not be loaded for oem-drv86.sys oem_drv86+0xb067: 875c4067 cc int 3 kd> g После этого машина запустилась, но что в таком режиме я не знаю, что дальше делать ) Меня смущает сообщение об ошибке загрузки символов для драйвера oem-drv86.sys. Как мне узнать, есть ли они у меня на компьютере, и если да, то что нужно настроить, чтоб дебаггер увидел их, а если нет, что где их взять - у меня установлены symbols для Win7 x86 и x64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2012, 17:01 |
|
||
|
проблема с настройкой VS2010+VirtualDDK+VirtualBox
|
|||
|---|---|---|---|
|
#18+
Так ничего и не выходит =( Скачал все пакеты символов для Win7x86 (RTM,SP1;chk), установил их в c:\symbols, указал путь к этому каталогу в настройках VirtualDDK, в WinDBG, в настройка студии. Плюс добавил переменную окружения _NT_SYMBOL_PATH, где указал каталог и url для скачивания символов. Но при отладке никто даже не пытает ничего загрузить. WinDBG не может загрузить символы ни для одного модуля, включая ntoskrnl, classpnp и т.п. На форуме оф сайта VisualDDK все глухо. Где я накосячил, не могу понять. Тема уже превращается в блог незадачливого программиста )) Неужели ни у кого не возникало проблем схожего характера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 16:49 |
|
||
|
проблема с настройкой VS2010+VirtualDDK+VirtualBox
|
|||
|---|---|---|---|
|
#18+
PM665Так ничего и не выходит =( Скачал все пакеты символов для Win7x86 (RTM,SP1;chk), установил их в c:\symbols, указал путь к этому каталогу в настройках VirtualDDK, в WinDBG, в настройка студии. Плюс добавил переменную окружения _NT_SYMBOL_PATH, где указал каталог и url для скачивания символов. Но при отладке никто даже не пытает ничего загрузить. WinDBG не может загрузить символы ни для одного модуля, включая ntoskrnl, classpnp и т.п. На форуме оф сайта VisualDDK все глухо. Где я накосячил, не могу понять. Тема уже превращается в блог незадачливого программиста )) Неужели ни у кого не возникало проблем схожего характера? Судя по молчанию, ни у кого :) А в гугле гуглил или на стековерфлоу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 17:52 |
|
||
|
проблема с настройкой VS2010+VirtualDDK+VirtualBox
|
|||
|---|---|---|---|
|
#18+
в гугле гуглил, Гуглил по тексту сообщений WinDbg в разных формах. Результатов не так уж много, но в основном они отнотятся к проблемам синего экрана и анализу дампа. Именно с проблемой загрузки символов обсуждений крайне мало, и везде ответ "настрой пути там-то там-то на автоматическую загрузку в формате srv*локал*url" помогал вопрошающему. Более конкретные запросы не дают результатов вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2012, 18:00 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38010246&tid=1342077]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
190ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 547ms |

| 0 / 0 |
