PRB: Heap Walker's Object: USER LocalWalk Doesn't Track DataLast reviewed: July 23, 1997Article ID: Q124271 |
3.10
WINDOWS
kbtool kbprg kbprb
The information in this article applies to:
SYMPTOMSUsing the Microsoft Windows Heap Walker application (HEAPWALK.EXE), you choose Object:USER Localwalk(DATASEG) to do a local walk of the USER heap. After saving the results in a file, you open the file to discover all the count and size values are zero as in this example:
OBJECT COUNT SIZE Class 0 0 Window 0 0 String 0 0 Menu 0 0 Clipbrd 0 0 ComboBox 0 0 Palette 0 0 EditCtrl 0 0 WindowList 0 0 OwnerDraw 0 0 SPB 0 0 CheckPoint 0 0 DCE 0 0 MoveWinPos 0 0 Properties 0 0 ListBox 0 0 Misc 0 0 Atoms 0 0 LockInputState 0 0 HookList 0 0 UserSeeUserDo 0 0 HotKeyList 0 0 Handle Table 0 0
CAUSEThe Heap Walker application obtains the information for the chart by walking the USER module's local heap using the LocalFirst() and LocalNext() functions in the ToolHelp library. The entries correspond to the wType values in the LOCALENTRY structure of the ToolHelp library. The documentation on the LOCALENTRY structure in the Windows SDK Help file states that these wType values are included only in the debugging version of USER.EXE, not in the retail version. Therefore, because Heap Walker uses ToolHelp to obtain these values, no values are found in the retail version of Windows.
RESOLUTIONSwitch to the Debug version of Windows, and run the Heap Walker application. This will produce correct results. For more information on the debugging version of Windows and how to switch to it, search on the phrase "Windows Debugging Version" in the Windows version 3.1 SDK Help file (WIN31WH.HLP) or refer to the topic "Windows Debugging Version" in Appendix C of the "Programming Tools for Windows" manual, which is part of the Visual C++ version 1.50 "Professional Tools User's Guide." NOTE: When you try to reproduce the same behaviour in the Heap Walker application for GDI heap by choosing Object:GDI LocalWalk(DATASEG), you will see that the table shows correct values for individual GDI objects. This is by design.
STATUSThis behavior is by design.
MORE INFORMATION
Steps to Reproduce Behavior
|
Additional reference words: 3.00 3.10 heapwalker
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |