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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Отладка драйвера  (Прочитано 20817 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Alex_V
Гость
« : 30-09-2005 03:47 » 

Господа - такой вопросик, отлаживаю свой драйвер с помощью SoftICE, вот только хотелось бы видеть мой C-код, а не ассемблерные конструкции будьте добры, подскажите как такое сделать? :razz:
Ногами не пиннайте сильно, знаю что вопрос чайниковский. Но я учусь Отлично Ага
Записан
Alex_V
Гость
« Ответ #1 : 30-09-2005 06:25 » 

Иак вопрос несколько неправильно сформулирован, я собрал драйвер
инструментарий
VS 2003, XPDDK SP1, SoftICE 2.01
nmsym пишет sys: No debug information found
ключи компилятора:
-Yd -Gy -cbstring -Gz -QIfdiv- -QIf -Gi- -Gm- -GX- -GR- -GF -FI$(DDK)\inc\$(OS)\warning.h -Odiy- -W3 /Zel7

ключи линкера:
/DEBUG:FULL /DEBUGTYPE:CV /PDB:NONE  -MERGE:_PAGE=PAGE -MERGE:_TEXT=.text -SECTION:INIT,d \
-INCREMENTAL:NO -FORCE:MULTIPLE -RELEASE -FULLBUILD \
-IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096 -NODEFAULTLIB \
-debug -version:4.00 -osversion:4.00 \
-MERGE:.rdata=.text -MAP:$(BASENAME).map -driver -align:0x20 \
-subsystem:native,4.00 -base:0x10000 -entry:DriverEntry@8

Помогите пожалуйста!
Записан
Kife
Помогающий

by
Offline Offline

« Ответ #2 : 30-09-2005 07:28 » 

вот те мои ключи, сравни :
C/C++ Compiler:

/nologo /Gz /ML /W3 /Zi /Oi /Gy /I "." /I "$(TARGET_INC_PATH)" /I "$(CRT_INC_PATH)" /I "$(DDK_INC_PATH)" /I "$(WDM_INC_PATH)" /I "..\TCRConfig\VpnComm" /FI"warning.h" /D _X86_=1 /D i386=1 /D "STD_CALL" /D CONDITION_HANDLING=1 /D NT_UP=1 /D NT_INST=0 /D WIN32=100 /D _NT1X_=100 /D WINNT=1 /D _WIN32_WINNT=0x0400 /D WIN32_LEAN_AND_MEAN=1 /D DEVL=1 /D DBG=1 /D FPO=0 /D "NDIS_MINIPORT_DRIVER" /D NDIS_WDM=1 /D NDIS40_MINIPORT=1 /D NDIS40=1  /FR".\objchk\i386/" /Fo".\objchk\i386/" /Fd".\objchk\i386\ipsecvpn.pdb" /Zel -cbstring /GF /c

Linker:

ntoskrnl.lib hal.lib wmilib.lib ndis.lib sagos32.lib /nologo /base:"0x10000" /version:5.0 /stack:0x40000,0x1000 /entry:"DriverEntry" /incremental:no /pdb:".\objchk\i386/ipsecvpn.pdb" /machine:IX86 /nodefaultlib /out:".\objchk\i386\ipsecvpn.sys" /libpath:"$(TARGET_LIB_PATH)" /driver /IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096,4210 /MERGE:_PAGE=PAGE /MERGE:_TEXT=.text /SECTION:INIT,d /MERGE:.rdata=.text /FULLBUILD /RELEASE /OPT:REF /OPT:ICF /align:0x80 /osversion:5.00 /subsystem:native,1.10 /debug:FULL

Дествия после сборки (PostBuildStep)
E:\PROGRA~1\COMPUW~1\SOFTIC~1\SoftICE\nmsym.exe /translate:source,package,always .\objchk\i386\ipsecvpn.sys
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Kife
Помогающий

by
Offline Offline

« Ответ #3 : 30-09-2005 07:28 » 

Это для 6-й студии
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Kife
Помогающий

by
Offline Offline

« Ответ #4 : 30-09-2005 07:29 » 

а вообще там в софтайсе по F3 переключение исходник/асм код
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Kife
Помогающий

by
Offline Offline

« Ответ #5 : 30-09-2005 07:30 » 

а. да. и точка останова _asm{int 3h} Улыбаюсь))))))
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Alex_V
Гость
« Ответ #6 : 30-09-2005 07:39 » 

Ну про инт3 знаю, нарвался уже без запущенного отладчика  Отлично
у меня студия 7.1
на рсдн пишут про проблемы линкера от 7 студии с симлоадером от софтайса, видимо придется ставить 6.
опять курю мануалы.
Записан
Kife
Помогающий

by
Offline Offline

« Ответ #7 : 30-09-2005 08:01 » 

ща я те дам от 7 студии
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Kife
Помогающий

by
Offline Offline

« Ответ #8 : 30-09-2005 08:04 » 

С++ colland line:

/Od /Oi /I "." /I "E:\DDK2000\inc" /I "E:\DDK2000\inc\ddk" /I "E:\DDK2000\inc\ddk\wdm" /I "..\TCRConfig\VpnComm" /D "_X86_=1" /D "i386=1" /D "STD_CALL" /D "CONDITION_HANDLING=1" /D "NT_UP=1" /D "NT_INST=0" /D "WIN32=100" /D "_NT1X_=100" /D "WINNT=1" /D "_WIN32_WINNT=0x0400" /D "WIN32_LEAN_AND_MEAN=1" /D "DEVL=1" /D "DBG=1" /D "FPO=0" /D "NDIS_MINIPORT_DRIVER" /D "NDIS_WDM=1" /D "NDIS40_MINIPORT=1" /D "NDIS40=1" /D "GOS_STATIC" /D "GOS_STDCALL" /GF /FD /ML /Gy /Fo".\objchk\i386/" /Fd".\objchk\i386\ipsecvpn.pdb" /FR".\objchk\i386/" /W3 /nologo /c /Zi /Gz /FI "warning.h"

Linker coMMAND LINE:
/driver /IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096,4210 /MERGE:_PAGE=PAGE /MERGE:_TEXT=.text /SECTION:INIT,d /MERGE:.rdata=.text /FULLBUILD /align:0x80 /osversion:5.00 /subsystem:native,1.10 /debug:FULL

postbuild STEP :
E:\PROGRA~1\COMPUW~1\SOFTIC~1\SoftICE\nmsym.exe /translate:source,package,always .\objchk\i386\ipsecvpn.sys
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Kife
Помогающий

by
Offline Offline

« Ответ #9 : 30-09-2005 08:07 » 

на рсдн пишут про проблемы линкера от 7 студии с симлоадером от софтайса
НЕ ЗАМЕЧАЛ...   Здесь была моя ладья...
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Spider84
Гость
« Ответ #10 : 26-10-2005 10:38 » 

Тока не издевайтесь и не смейтесь.

Научите производить отладку драйвера.   Здесь была моя ладья...
А можно это не софт айсом делать, а MSKD?
В общем нужно кое-что подсматреть в готовом драйвере.
Есть мпособ получить дамп его работы и уже потом по нему ходить и смотреть что он делал?
Записан
Ochkarik
Модератор

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

« Ответ #11 : 26-10-2005 11:33 » 

на рсдн пишут про проблемы линкера от 7 студии с симлоадером от софтайса
НЕ ЗАМЕЧАЛ...   Здесь была моя ладья...
ХМ!!!!
а у меня линкер при линковке ругается что не найден внешний символ __load_config_used
чего с ним делать не знаю... пока - у меня драйвер студия стоит, устанавливаю в ней параметр линковать драйвера линкером из DDK. прокатывает, но хотелось бы ясности....
без него - вот эта самая ошибка... LNK2001)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Kife
Помогающий

by
Offline Offline

« Ответ #12 : 04-11-2005 12:05 » 

Научите производить отладку драйвера.  Здесь была моя ладья...
А можно это не софт айсом делать, а MSKD?
В общем нужно кое-что подсматреть в готовом драйвере.
Есть мпособ получить дамп его работы и уже потом по нему ходить и смотреть что он делал?

1. Не знаю, что есть такое MSKD.. Могу лишь предполдожить что чтото типа МелкоСофт Кернел Дебаггер
2. Ниче лучше айса еще не видел. Есть MS WinDebug, но мне оч не нравится, к тому же ему 2 машины надо.
3. На кой те этот дамп, если в айсе можешь хоть точки останова ставить и отлаживать прямо по исходнику!
4. в Айсе юзай утилиту NMSYM.EXE -- запаковка исходников в NMS файл
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Kife
Помогающий

by
Offline Offline

« Ответ #13 : 04-11-2005 12:06 » 

на рсдн пишут про проблемы линкера от 7 студии с симлоадером от софтайса
НЕ ЗАМЕЧАЛ...   Здесь была моя ладья...
ХМ!!!!
а у меня линкер при линковке ругается что не найден внешний символ __load_config_used
чего с ним делать не знаю... пока - у меня драйвер студия стоит, устанавливаю в ней параметр линковать драйвера линкером из DDK. прокатывает, но хотелось бы ясности....
без него - вот эта самая ошибка... LNK2001)

может у тебя библиотека не подключена к проекту какая-нить!?
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Spider84
Гость
« Ответ #14 : 04-11-2005 13:17 » 

Научите производить отладку драйвера.  Здесь была моя ладья...
А можно это не софт айсом делать, а MSKD?
В общем нужно кое-что подсматреть в готовом драйвере.
Есть мпособ получить дамп его работы и уже потом по нему ходить и смотреть что он делал?

1. Не знаю, что есть такое MSKD.. Могу лишь предполдожить что чтото типа МелкоСофт Кернел Дебаггер
2. Ниче лучше айса еще не видел. Есть MS WinDebug, но мне оч не нравится, к тому же ему 2 машины надо.
3. На кой те этот дамп, если в айсе можешь хоть точки останова ставить и отлаживать прямо по исходнику!
4. в Айсе юзай утилиту NMSYM.EXE -- запаковка исходников в NMS файл
1. Правильно.
2. Согласен. Две машины уже не надо - рабоатет и на 1.
3. Мне так привычнее с linux. Нету у меня исходника.
4. См. п.3.
Записан
Ochkarik
Модератор

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

« Ответ #15 : 05-11-2005 13:14 » 

ИМХО лучше софт-айса ничего не знаю... по крайней мере, когда у мя новая машинка появилась, с PCI-EXPRESS видюхой, которую софт-айс не понимает - у меня горе наступило... месяц ее пытался заставить подружить с софт-айсом, не получилось(((
кроме того, ОСОБЕННО для начинающих писать драйвера - возможность просмотреть пошагам что-как-когда вызывается и где падает.... да с исходным кодом, да с состоянием всех переменных в любой момент...лучше не придумаешь! да и не только для начинающих)) удобно это. и все тут!))

PS да... с готовым драйвером конечно сложнее... если отладочной информации в нем нет, но тоже - неплохо наверно)
а дамп тут дело не спасет... в софт айсе зато по каждой команде прошагаете, а уж список кернелевских функций, которые драйвер вызывает, прямо наяву увидите!
« Последнее редактирование: 05-11-2005 13:17 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Kife
Помогающий

by
Offline Offline

« Ответ #16 : 01-12-2005 09:27 » 

2 Ochkarik: 5  Отлично
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Kife
Помогающий

by
Offline Offline

« Ответ #17 : 01-12-2005 13:21 » 

по крайней мере, когда у мя новая машинка появилась, с PCI-EXPRESS видюхой, которую софт-айс не понимает - у меня горе наступило... месяц ее пытался заставить подружить с софт-айсом, не получилось(((

Слушай, а  у меня апгрейд в планах ... на PCI EXPRESS.. Ты софтайс приучил к нему???  Вообще, народ, вопрос ко всем : софтайс с PIC EXPRESS-ом работает или нет?! стоит ли торопиться с апгрейдом?
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Ochkarik
Модератор

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

« Ответ #18 : 01-12-2005 14:22 » 

значится так...
у мя стоит на новой машине... 4 пень с HT.
ASUS мать... P5GDC delux
видеокарта АСУС Екстрим N5750 v61.21
на матери гигабитная сетевуха Марвел Юкон чего то там...
софтайс не поддерживает ни видюхи ни сетевухи.... скока я не пытался... я ж потом пытался два компа по сетевому кабелю подружить....
в общем - сам работает, но вместо окна софтайса - черный экран и гаснет монитор... Ctrl+D - и опять винда на экране!

Из вариантов - наверное можно поставить вторую PCI видюху, тупую, из списка поддержанных и использовать ее, для сообщений софтайса. у меня даже есть вторая видюха... я ее даже втыкал... ток ее тоже софтайс не полюбил))))) видимо он с ТАКИМИ старухами не общается)
но в общем задача временно отпала - все текущие дрова отладил... но осадок остался...)

а с чем софтайс точно дружит - у него в хелпе написано...
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Kife
Помогающий

by
Offline Offline

« Ответ #19 : 02-12-2005 08:32 » 

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

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Ochkarik
Модератор

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

« Ответ #20 : 02-12-2005 08:55 » 

да я ж говорю - любую PCI видюху воткнешь средней паршивости... и отдаешь ее целиком софтайсу на откуп)
и мониторчик... с двумя входами) если второго нет)
и будет счастье)))
Записан

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

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines