windows NT kernel driver debugging

 I am having trouble using Windbg to debug a windows nt device driver. I  have a null modem cable installed between two computers both running the  same version of windows nt. I can use the com ports to talk between the
  two so I know the wiring is right. The host uses COM1 the target  COM2.
 
  I have enabled debugging on the target by inserting the /DEBUGPORT=COM2
  and /BAUDRATE=19200 in the boot.ini file under the correct [operating   systems] section.
 
  I start Windbg on the host system by: WinDbg -k i386 COM1 19200.
  When I select go I get the following message:
  Thread Create:  Process=0, Thread=0
  Kernel debugger waiting to connect on com1 @ 19200 baud
  >
 check the SYMBOLS path in WinDbg. It points to a directory with the following structure:

SYMBOLS
    DLL
    EXE
    SYS
The SYS directory contains the checked version of my driver.
 
 I then boot the target and the blue screen comes up saying  Kernel Debugger Using: COM2 (Port 0x2f8, Baud Rate 19200)
The screen flickers and I see the RCV and SND flash.
 
 
 I get stuck here because I never seem to get a response from the target. If I hit the ^C on the host the target will lock up. I never get any message saying the computers connected, but the ^c stops the target. The host never seems to connect!

 What am I doing wrong? Have I left
rgardeaAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

21186Commented:
I have been unable to reproduce your symptoms. The message about checking your SYMBOLS path is not normal however. Make sure that the Symbol Search Path under the menu selections "Options\User DLLs" is set to the path you have placed your drivers checked binarie. I did find that if I have this path set wrong and the target machine hits a breakpoint in a driver it cannot continue the boot process, but it will halt on a ^c. After executing a ^c try typing ".reload" in the command window to see what happens.By the way windbg sucks. The only thing it is better than is nothing, wich is your only other option.
0
amartin030297Commented:
Since nobody has answered you (and I don't have a technical ANSWER for you), but I have a non-free solution:

Purchase SoftIce.  www.numega.com

Its trivial to debug kernel level drivers with it.  And you can
use a serial link OR 2 video cards OR 1 video card and 1 mono monitor (which is how most people do it).

It can also trace into and outof Interrupt (WinDbg sucks at that).

  -- Aaron

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
vinniewCommented:
It would be reasonably trivial to set up a Linux partition for the COM port.  Then you could use tcpdump to get all the info you could ever want.  Reboot. switch back to windows.  done.  Linux is *much* better at getting port info.
0
vinniewCommented:
Did I say tcpdump? whoops.  redirect a tty to a file.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Development

From novice to tech pro — start learning today.