home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 Special / chip-cd_2001_spec_05.zip / spec_05 / apps / oemsuptools / relnote.txt < prev    next >
Text File  |  1999-08-23  |  10KB  |  255 lines

  1. April 28, 1999
  2. Microsoft NT Tools Project
  3.  
  4. Windows NT OEM Support Tools version 2.02 release note
  5.  
  6. Release History
  7. ---------------
  8.  
  9. 06/10/98 version 1.0 final release 
  10.  
  11. 02/08/99 version 2.01 release
  12. 04/28/99 version 2.02 release (This release)
  13. -----------------------------
  14.  
  15.  
  16. Support Platform
  17. ----------------
  18. This release supports Windows NT Server and Workstation versions
  19. 3.51 and 4.0 on x86 platform and Windows NT version 4.0 on Alpha 
  20. platform. 
  21.  
  22.  
  23. Debugger Requirements
  24. ---------------------
  25. Windbg version tested and recommended with this release is 5.00.1867.1.
  26. It is available either from MSDN Platform SDK September 1998 CD-ROM or 
  27. http://msdn.microsoft.com/developer/sdk/windbg.htm. This version of
  28. Windbg runs on Windows NT 4.0 and can debug crash dumps and user dumps
  29. from both 3.51 and 4.0 systems, as well as live Windows NT 4.0 systems. 
  30. If you want to debug live x86 3.51 systems, you need to use i386kd.exe.
  31.  
  32.  
  33. Documentation
  34. -------------
  35. Documentation is included with this release as userdocs.doc.
  36.  
  37.  
  38. Pool Enhancements
  39. -----------------
  40. If you installed poolext driver from milestone or RC releases, you must
  41. reinstall the final version and reboot your system.
  42.  
  43. Support for Alpha platform is added in this release.
  44.  
  45.  
  46. Kernel Memory Space Analyzer
  47. ----------------------------
  48. Below are the list of director plug-ins supplied with this release.
  49. They are all supported on both x86 and Alpha platform.
  50. You can customize template kanalyze.ini to enable/disable these
  51. plug-ins.
  52.  
  53.   RESULT   - Displays all anomaly items and their related items.
  54.   DISP     - Displays all items in sorted order by type name.
  55.   VIEWCMD  - Allows users to interactively view stored items.
  56.   DRIVERS  - Displays a list of loaded drivers.
  57.   DUMPINFO - Displays StopCode, registers, etc.
  58.   IOVIEW   - Displays IRPs, device queues.
  59.   OBJVIEW  - Displays object trees, per process handle tables.
  60.   POOLVIEW - Displays usage of pool pages, pool blocks.
  61.   PSVIEW   - Displays a list of processes, threads.
  62.   STVIEW   - Displays stack traces per thread.
  63.   VMVIEW   - Displays virtual memory layout, usage of memory.
  64.  
  65. These are described in more detail in the user documentation.
  66.  
  67. For plug-in developers, \kanalyze\inc directory includes header files
  68. required for developing director plug-ins. Sample source files are also
  69. included with this release under \samples\kanalyze\plugins directory.
  70.  
  71.  
  72. User Mode Process Dump
  73. ----------------------
  74. You must use Windbg 5.0 as stated in the Debugger Requirements
  75. section. Windbg 4.0 cannot open a user dump file generated by
  76. the tool.
  77.  
  78.  
  79. Known issues and restrictions
  80. -----------------------------
  81. 1) Kernel Debugger Extensions
  82.  
  83.   - There are cases where output from Extensions commands includes wrong 
  84.     symbol information if symbol files are located on a network drive or 
  85.     path to symbol files is specified by UNC name. 
  86.     This is a bug of Windbg version 5.00.1867.1 and should be corrected 
  87.     in a future release of Windbg. As a workaround, locating symbol 
  88.     files on a local hard disk should solve the problem.
  89.  
  90.   - When address to interrupt routine displayed by !idt command is lower than 
  91.     0x80000000, symbol information associated with the address is not valid
  92.     and should be ignored.
  93.  
  94.   - The offset of following structure members displayed by !strct command is 
  95.     wrong.
  96.  
  97.     + "Queue" in "DEVICE_OBJECT"
  98.     + "u"     in "MCA_EXCEPTION"
  99.  
  100.   - Below are the restrictions regarding !strct user-defined structure ini file.
  101.  
  102.     + The maximum number of structures which can be defined in one ini file is 
  103.       limited to 256. If there are more than 256 structures defined in
  104.       [struct] section, only first 256 structures will be loaded and the rest
  105.       will be ignored. If you want to define more than 256 structures, the ini
  106.       file should be separated into multiple files. 
  107.     
  108.     + The maximum number of structure definition files which can be defined in 
  109.       structdb.ini file is limited to 256. If there are more than 256 ini 
  110.       files defined in the [StructDbList] section, only first 256 files will be
  111.       loaded and the rest will be ignored.
  112.  
  113.     + In ini file, if the type of structure's member is defined as enum or 
  114.       bitfield, "count" item must be 1. That means array of enum/bitfield is
  115.       not supported. If array of enum/bitfield is defined, only first entry in
  116.       the array is displayed with corresponding name.
  117.  
  118.     + !strct command sometimes displays a wrong size of loaded struct loaded 
  119.       from ini file. Currently kernel debugger extension calculates the size of
  120.       loaded struct by the sum of the offset of last member and the size of last      member. However if alignment rule is adapted by compiler, the calculated 
  121.       size is wrong.
  122.  
  123.     + If anonymous struct/union member is defined in ini file and loaded,
  124.       !strct command displays a data type like
  125.  
  126.         " <parent structure name>CHILD<3 figures hex numbers>"
  127.  
  128.       when such struct/union member is specified by the command. 
  129.       This is a temporary name named by kernel debugger extension.
  130.       This is by design and not a bug. Such temporary name cannot be 
  131.       specified by !strct or !list command directly.
  132.  
  133.       e.g.)
  134.       +000a    Flags
  135.       +000c    Block( RTL_HEAP_WALK_ENTRY_CHILD000 struct)
  136.       +000c      Settable
  137.       +0010      TagIndex
  138.       +0012      AllocatorBackTraceIndex
  139.       +0014      Reserved
  140.       +000c    Segment( RTL_HEAP_WALK_ENTRY_CHILD001 struct)
  141.       +000c      CommittedSize
  142.  
  143.       Also note that the maximum number of anonymous struct union type in one 
  144.       structure is 4096. 
  145.  
  146.     + If anonymous member like struct union is defined in ini file and loaded, 
  147.       !strct command displays a member name like 
  148.  
  149.         " anonymous<3 figures hex numbers>"
  150.  
  151.       when such members is specified by the command.
  152.       This is a temporary name named by kernel debugger extension.
  153.       This is by design and not a bug. Such temporary name cannot be specified
  154.       by !strct, !list, or !singlelist command directly. 
  155.  
  156.       e.g.)
  157.       +00d8    array =                0073 005c 0041
  158.       +00dc     anonymous000( X3452_CHILD000 struct)
  159.       +00dc      a =                    A                   41
  160.       +00e0      b =                    0070
  161.  
  162.       Also note that the maximum number of anonymous struct union members in
  163.       one structure is 4096. 
  164.  
  165.     + "!strct load" and "!strct unload" commands don't work with i386kd.exe and
  166.       alphakd.exe. To use user-defined structure feature with 
  167.       i386kd.exe/alphakd.exe, structdb.ini must be placed in the same 
  168.       directory as kdex2x86.dll/kdex2alp.dll. Then user-defined 
  169.       structures must be defined in the ini files listed in structdb.ini. 
  170.  
  171.  
  172. 2) Kernel Memory Space Analyzer
  173.  
  174.   - Depending on the versions of Windows NT, the module plug-in may identify
  175.     anomalies in the following functions of ntoskrnel.exe and hal.dll. 
  176.     This is expected behavior; you can ignore them.
  177.  
  178.     + KeFlushCurrentTb function in ntoskrnl.exe
  179.     + HalpRealModeStart and HalSetTimeIncrement functions in hal.dll
  180.  
  181.   - The module plug-in identifies anomalies in the following functions in
  182.     ntoskrnl.exe if Poolext.sys was installed on the system which dump file was
  183.     taken. They are expected results because Poolext.sys hooks into these
  184.     functions in the kernel at runtime. You should ignore them.
  185.  
  186.     + ExAllocatePool+0
  187.     + ExAllocatePoolWithTag+0
  188.     + ExAllocatePoolWithQuota+0 
  189.     + ExAllocatePoolWithQuotaTag+0 
  190.     + ExFreePool+0 
  191.     + ExFreePoolWithTag+0 
  192.     + FsRtlAllocatePool+0 
  193.     + FsRtlAllocatePoolWithQuota+0 
  194.     + FsRtlAllocatePoolWithTag+0 
  195.     + FsRtlAllocatePoolWithQuotaTag+0 
  196.     + MmUnloadSystemImage+0
  197.     + MmLoadSystemImage+0
  198.      
  199.   - There are following known issues in STRACE plug-in if NMI(KiTrap02) or 
  200.     Double-fault(KiTrap08) found in a dump file.
  201.  
  202.     + Cannot locate switched stack.
  203.     + Cannot locate stack frame for the stack before switched.
  204.     + Can locate stack frame for the switched stack but includes some wrong
  205.       data.
  206.  
  207.     Due to above problems, output from STVIEW, DUMPINFO, and stack item 
  208.     descriptions sometimes include wrong information in NMI and double-fault
  209.     cases.
  210.  
  211.   - STRACE plug-in for Alpha does not locate TRAP frames.
  212.  
  213.   - EXECUTIVEOBJECT plug-in reports the following anomaly if a process has been
  214.     attached to by a debugger. This can be ignored.
  215.  
  216.       EPROCESS @f9cc24c0
  217.       CreateProcessReported is anomalous.
  218.       This value must be false
  219.  
  220.   - Following are notes for plug-in developers who uses helper routines and
  221.     method interfaces.
  222.  
  223.     + Newline codes for a string returned by GetDataItemDescription are
  224.       CR+LF. If you use stream output functions like printf to print this
  225.       string, new line codes might get converted to CR+CR+LF.
  226.       If you want to output a string returned by GetDataItemDescription,
  227.       use binary mode or output without using stream output functions.
  228.  
  229.     + If data item specified by GetDataItemDescription or CallMethodRoutine
  230.       is located in paged out area, these functions may return ERROR_READ_FAULT.
  231.  
  232.     + When analyzing Windows NT 3.51 crash dump file, method code 
  233.       M_EOTHREAD_GET_IMPERSONATION_INFO returns ERROR_INVALID_FUNCTION error.
  234.       This is by design.
  235.  
  236.  
  237. 3) User Mode Process Dump
  238.  
  239.   - On Windows NT 3.51, if "All Exceptions" is applied to csrss.exe for
  240.     Exception Monitoring, User Dump will try to dump csrss.exe every time 
  241.     when some applications are started or terminated on the system. 
  242.     This will cause frequent short system freezes while csrss.exe
  243.     is being dumped. This occurs because csrss.exe always raises 
  244.     STATUS_PORT_DISCONNECTED (c0000037) exception when such applications
  245.     are started or terminated. To avoid this problem, it is suggested that when 
  246.     csrss.exe is monitored, configure default or custom rules so that the above
  247.     exception is not included.
  248.  
  249.   - Smss.exe is not a win32 process and the user mode process dump features do
  250.     not work on it. This is by design. 
  251.  
  252.  
  253. [End of Text]
  254.  
  255.