locked
Problem using ndiskd extension RRS feed

  • Question

  • I'm trying to run my driver code on a checked build of Windows 7 while using ndiskd debugger extension in WinDbg 6.12.0002.633 AMD64. I connect to the target computer and it definitely runs checked Windows 7:

    Windows 7 Kernel Version 7600 MP (2 procs) Checked x64
    Product: WinNt, suite: TerminalServer SingleUserTS
    Built by: 7600.16385.amd64chk.win7_rtm.090713-1255

    WinDbg symbol search path is:

    srv*d:\shares\pdb*http://msdl.microsoft.com/download/symbols
    

    Now I do !ndiskd.ndis and here is what I get:

    0: kd> !ndiskd.ndis
    DBGHELP: ndis - public symbols  d:\shares\pdb\ndis.pdb\6201008CA75D4471904199AD1C6FA7711\ndis.pdb
    Type information missing error for ndisChecked
    ERROR: !ndis: extension exception 0x80040205.
        "ExtRemoteTyped::Set: unable to evaluate 'ndis!ndisChecked'"
    

    What is wrong?

    Thank you in advance!

    Monday, March 22, 2010 3:50 PM

Answers

  • The correct answer is that the particular command you are trying to use, !ndiskd.ndis, does not work with the public symbols.  Even if it did work, its output would not be meaningful to you.

    Monday, March 22, 2010 10:13 PM
  • It looks like there are still some issues with the ndiskd extension with public symbols.  These two commands should work, but don't.  Whereas ndis and dbglevel might not have been helpful, nblpools in particular probably would be.  Please let me know if you find other commands that don't seem to work right.

    At this time, we're not sure when we'll be able to release an updated version of the extension.  External participants of the NDIS beta might be able to get updates.

    Wednesday, March 24, 2010 1:28 AM

All replies

  • ndiskd was screwed-up in WDK 7600.16385.0, but fixed in the new 7600.16385.1.

     

    Thomas F. Divine

    http://www.pcausa.com

     


    Thomas F. Divine http://www.pcausa.com
    Monday, March 22, 2010 4:20 PM
  • Thomas,

    Thank you for the reply. I've downloaded today WDK 7.1.0 and installed the debugging tools from there. Isn't it the latest and the "good" ndiskd.dll? Its product version is 6.1.7650.0. Can you confirm this is not the right version?

    Thank you!

    Monday, March 22, 2010 4:43 PM
  • After installing WDK 7.1.0, my ndiskd.dll is version 6.1.7600.16385.  Note that if you had a previous version of the debugging tools installed, you have to manually clear and re-activate the checkbox for "Debugging Tools" in the WDK installer.
    Monday, March 22, 2010 6:53 PM
  • but your debugger version matches (6.12.2.633) so that's not it.
    Monday, March 22, 2010 6:57 PM
  • The correct answer is that the particular command you are trying to use, !ndiskd.ndis, does not work with the public symbols.  Even if it did work, its output would not be meaningful to you.

    Monday, March 22, 2010 10:13 PM
  • Hi Daniel,

    Thank you for the information.

    I've also tried other commands:

    1: kd> !ndiskd.dbglevel
    Type information missing error for ndisDebugLevel
       NDIS debug information is not available. Debug information is only available on a checked version of ndis.sys.
    1: kd> !ndiskd.nblpools
    Type information missing error for ndisGlobalNetBufferListPoolList
        Pool               Caller                                                  _
    
    Are these commands supposed to work?
    Thank you!
    Tuesday, March 23, 2010 8:37 AM
  • It looks like there are still some issues with the ndiskd extension with public symbols.  These two commands should work, but don't.  Whereas ndis and dbglevel might not have been helpful, nblpools in particular probably would be.  Please let me know if you find other commands that don't seem to work right.

    At this time, we're not sure when we'll be able to release an updated version of the extension.  External participants of the NDIS beta might be able to get updates.

    Wednesday, March 24, 2010 1:28 AM
  • It looks like there are still some issues with the ndiskd extension with public symbols.  These two commands should work, but don't.  Whereas ndis and dbglevel might not have been helpful, nblpools in particular probably would be.  Please let me know if you find other commands that don't seem to work right.

    !ndiskd.pendingnbls doesn't work either

    0: kd> !ndiskd.pendingnbls
    Type information missing error for ndisGlobalNetBufferListPoolList

    PHASE 1/3 Found 0 NBL pool(s).                
    Type information missing error for ndisMaxNumberOfProcessors
    PHASE 2/3: Found 0 freed NBL(s).                                   

        Pending Nbl        Currently held by                                       _
        No pending NBLs were found.                                             
    PHASE 3/3: Found 0 pending NBL(s) of 0 total NBL(s).                     
    Search complete.

    Thursday, May 19, 2011 6:07 AM