Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Ladění jádra (Kernel driver) na Vistach

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Ladění jádra (Kernel driver) na Vistach

Autor: visualprog

17:10:59 24.10.2010

Takže jsem úspěšně rozjel ladění jádra i na virtuální mašině Microsoft Virtual PC 2007, a to přes pojmenovanou pipu v mém případě \\.\pipe\COM_2

WinDbg mám spuštěn na hostu a na virtuálu, pokud to stačí, mám spuštěn DebugView.
V mém případě stačil DView , stačí mi zachytávat DbgPrint .

Citovat příspěvek

 

Re: Ladění jádra (Kernel driver) na Vistach

Autor: vrtulex

19:59:25 19.10.2010

Ano, je třeba použít KdPrintEx (nebo DbgPrintEx, už teď nevím), a/nebo nastavit ten DebugPrintFilter. Jinak opravdu ladící výpisy nechodí. Problém (při špatném natvení) může být, že se ladící výpis driveru začne míchat s výpisy z dalších aplikací (u mne DbgView za určitých okolností).

Ještě si vzpomínám, že mi ladící výpisy chodily jen se zapnutým programem DbgView, ale to možná jen kvůli mé neschopnosti.

Citovat příspěvek

 

Re: Ladění jádra (Kernel driver) na Vistach

Autor: visualprog

6:54:54 18.10.2010

Ano, díkec, pokud jsem se vrátil s laděným jádrem na původní fyzický stroj s W2k tak je možno osciloskopem vidět aktivitu, při Break ve WinDbg, na pinech seriového portu, případně je možno znaky odchytávat na nějakém externím zařízení s RS232, což mi oscil také umožňuje.

Na fyzickém PC problém ani nemám, krom chyb v mém jádru :) , a následné modré smrti, proto jsem i přešel na virtuál, kde to chci odlaďovat, jedná se o složitější program a tak se chyby vyskytnou.
Vždycky jsem dělával primitivní driver na jednoduché I/O karty, tady problém nebyl a ani sem neladil přes kd.

Další problém co na virtuálu mám je, že nevysílá KdPrint, případně DbgPrint nic a ve windbg se nic nezobrazí. Vygooglil jsem něco o registrech a klíči Debug Print Filter
[url] http://www.osronline.com/article.cfm?id=295[/url]

ale nevím ještě sem nezkoušel, no a ještě jeden odkaz :
[url] http://alter.org.ua/soft/win/dbgdump/registry.php[/url]

Citovat příspěvek

 

Re: Ladění jádra (Kernel driver) na Vistach

Autor: vrtulex

15:36:23 16.10.2010

Jakmile se WinDbg spojí s virtuálním strojem, donutí ho vykonat instrukci breakpointu (INT 3), čímž celou mašinu zastaví. Můžete pak nastavovat breakpointy, procházet paměť atd.

Protože je virtuální stroj takto zastaven, vypadá to, že se sekl a že zmizela myš. Aby vše fungovalo, musíte WinDbg donutit z instrukce breakpointu odejít (napříkla příkazem "g"). Ono to koneckonců ta hláška (impliticně) oznamuje.

Nedávno jsem pro ladění ovladačů používal VMWare a spojení pomocí pojmenovaných rour a neměl jsem (až na nastavení rychlosti přenosu) žádný problém.

Citovat příspěvek

 

Re: Ladění jádra (Kernel driver) na Vistach

Autor: Palo007

10:28:13 12.10.2010

Ja jsem pouzival VirtualKD http://virtualkd.sysprogs.org/ a VirtualBox.

Citovat příspěvek

 

Re: Ladění jádra (Kernel driver) na Vistach

Autor: visualprog

21:23:52 11.10.2010

Ve Virtual PC mi to nějak nefunguje, i když COM1 named pipe s názvem \\.\pipe\COM_1 (zkoušel jsem to i pro COM2) se mi podařilo nakonfigurovat a i na hostu se mi windbg spojil s virt.stanicí ale jakmile se přepnu do virt,stanice , ztratí se myš (je na USB) a virt.stanice se sekne, pomůže jen restart. Do windbg se vysypou nějaké hlášky :

Break instruction exception - code 80000003 (first chance)
...
THIS IS NOT A BUG OR A SYSTEM CRASH
*******************************************************************************
nt!DbgBreakPointWithStatus+0x4:
80452e70 cc int 3

Citovat příspěvek

 

Ladění jádra (Kernel driver) na Vistach

Autor: visualprog

6:53:15 11.10.2010

Přešel jsem s vývojem KD na Visty a ještě k tomu na notebook, nemající oblíbený seriový port COM1, na který jsem měl připojen nulový modem a pomocí WinDbg jsem tak mohl zachytávat zprávy z jádra (kdprint).

Virtuální porty (COM4) to jaksi neobsluhuje, i když pomocí bccdedit /dbgsettings mám vše nastaveno a povoleno, nepátral jsem ještě o možnosti USB (1394 vůbec ne).

Celkem se mi zalíbilo pojednání [url]http://www.zezula.net/cz/fstools/kdvmware.html[/url] a začal ho realizovat, protože KD mám většinou pro dvoulitry, takže jsem nainstaloval Virtual PC 2007 do něj W2000 a to je vše co jsem zatím stihl.

Zaujalo mne ale že nový WinDbg může poslouchat na IP portu (url] http://www.wd-3.com/archive/RemoteDbg.htm[/url]) , tak se ptám, lze nastavit debug jádra aby kdprint mohl posílat zprávy po síti, což by se mi líbilo nejvíce.
Případně napsat si vlastní kdprint , který by toto umožňoval ? [

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: