BUG: Win32 SDK Version 3.51 Bug List - WinDbg

Last reviewed: September 12, 1995
Article ID: Q136434
The information in this article applies to:
  • Microsoft Win32 Software Development Kit (SDK) version 3.51

SUMMARY

This article lists the bugs in the WinDbg debugger released with the Win32 SDK for Windows NT version 3.51 that were known at the time the product was released.

MORE INFORMATION

  • If you set a breakpoint in a function that is evaluated by EE, execution stops at the breakpoint and incomplete results are returned. Generally, the result is wrong and you are not notified of the problem.
  • The z-order of windows is not correctly restored when a workspace is reloaded. For example, the Registers window that was on top when you exited is not when you restart.
  • In cases where the application has source files that have identical names but are located in different directories, Windbg may confuse one with the other during source-level debugging. Therefore, putting breakpoints in a line in one of the files may not work.
  • If you use F10 to step over a function that contains a conditional breakpoint and the condition is not met, the program runs to completion.
  • When the system is under a heavy load, a hardcoded breakpoint hit may be erroneously reported.
  • WinDbg may hang if it is opened using the AeDebug registry entry and closed while the debuggee is still active.
  • When you use the toolbar to place a breakpoint on a source line that is not an executable line, the breakpoint is correctly placed on the next line that contains executable code. However, if this is done before the module is loaded, you get an unresolved breakpoint when the module is loaded.
  • If you ise the Breakpoints dialog box to set a breakpoint on a source line that is not an exectuable line and the system DLLs were loaded with deferred symbols, the debugger will load them now and you will get a message about an uninstantiated breakpoint. The breakpoint should have been placed on the next line that contains executable code.
  • WinDbg does not show a wait pointer while setting a breakpoint.
  • When you use the scroll thumb in the Memory Window, there is a limit to how far down the view can be changed. Once the thumb is dragged to the bottom, nothing more can be viewed. However, you can move as far beyond that point as you want by using the PAGE DOWN key.
  • The PAGE UP and PAGE DOWN keys do not move the scroll thumb in the Memory Window.
  • Narrow window size prevents Memory Window reformatting.
  • WinDbg won't set a breakpoint in generated code that is executed.
  • If the Command window is scrolled away from the current input line, it cannot be scrolled back. Scrolling always stops about one line too soon.
  • WinDbg may display a popup window if there is no disk in the drive.
  • The sxeld and sxdld commands are not supported.
  • Pressing CTRL+SHIFT+HOME does not select text in the Command window.
  • For functions that take a class member as an argument, WinDbg displays CXX0019: Error: bad type cast evaluating member functions.
  • WinDbg cannot evaluate functions using string constants.
  • WinDbg shows the value of thread-local static local variables as 0.
  • Pressing p when using remote WinDbg behaves as if you pressed g.
  • A maximized source window doesn't show the path or dirty flag.
  • WinDbg source window title text is sometimes clipped when the window size is changed.
  • A popup box is presented when WinDbg is run using an input script and the debugee cannot be found.
  • The WinDbg expression evaluator truncates long strings.
  • The floating-point register displays do not line up in fixed columns.
  • The Address field defaults to the next token from the last active menu when you click Address on the View menu.
  • Type information defined in a DLL is not available when the current context is another DLL or the .exe file.
  • Breakpoint message classes are not all-inclusive.
  • You cannot set a breakpoint on a message for which no WM_xxx message exists.
  • You cannot set a single breakpoint on multiple messages.
  • Message enumeration does not highlight messages belonging to the selected class.
  • Several break types listed when adding breakpoints are extraneous.
  • Exception number processing should not allow bit 28 to be set.
  • Length field in breakpoint dialog box does not accept expressions.
  • All common file dialog boxes should use a single saved directory.
  • Status bar should display toolbar button description.
  • Toolbar is clipped if main window is too narrow.
  • C++ EE doesn't handle default function arguments.
  • Floating point registers cannot be displayed in HEX format.
  • Changing radix in the Debug dialog box from the Options menu highlights all the values as changed.
  • Pressing CTRL+S does not pause dump command output.
  • Locals window collapses expanded structure when scope changes.
  • Hex values are displayed using different case for first level and lower level values.
  • The value of array members cannot be changed.
  • The File Open dialog box does not save the previous file type.
  • There is no help for Source/Asm mode.
  • WinDbg does not always automatically scroll when selecting text with the mouse on the Disassembly window while the mouse is below the Disassembly window.
  • The expression evaluator does not correctly deal with the possiblity of a cast from a class to a primitive data type.
  • The User DLLs dialog box shows single status item for multiple possibilities.
  • A full path is needed when selecting a DLL from the Debugger DLLs dialog box, and there is no Browse button to choose the path.
  • Continue to Cursor on the Run menu should be Continue to Caret, because the execution stop point is indicated by the caret in the active window, not the position of the mouse pointer.
  • The symbol information output from the X command is not sorted in alphabetical order.
  • EE does not allow "context not allowed" to be an l-value.
  • The LN command displays only public symbols, not line numbers.
  • Focus changes momentarily when disassembly view overlaps source view and View.Address is updated.
  • Constants in Source Windows that have suffixes are improperly syntax colored. The numeric part is colored, but the suffix is not.
  • The return value type is not reported for ?<FuncName>.
  • Function evaluation reports "Error: function requires implicit conversion" for a function taking a structure, not a pointer to a structure.
  • ?<10-byte real> displays a leading blank.
  • ?<10-byte real>,<format modifier> fails with modifiers Lf, Lg, LG, Le, and LE.
  • Options tool buttons are enabled when no watch item is selected.
  • The Disassembly window does not scroll properly. The current line sometimes does not appear in the window.
  • Watch window shift-key selection is not consistent. Sometimes all characters from the beginning of the expression to the caret position are selected, but sometimes only two characters are selected.
  • The User DLLs dialog box silently discards edits after picking a DLL and changing the radio button from suppress to load.
  • The DS register display is nine bits long for MIPS. It is currently displayed with the minimum number of digits necessary for its value. It should be displayed as a three-digit field padded with zeros.
  • When you click Stop Debugging on the Run menu, all values in the watch window (left and right panes) are cleared.
  • While you step through a program, the information windows display changes data in red. When a structure is expanded, the changed data selection (red) is lost.
  • The Command window does not scroll correctly. Unless the Command window is positioned at the bottom, new messages are not always visible.
  • "DW BP" currently uses DS as the default selector. It should use SS.
  • Expanding character pointers in the Watch window shows only the first character in the string.
  • The Replace dialog box is missing a Find Previous Button.
  • The Watch window does not preserve watchpoints between runs in a single debugging session or between separate debugging sessions.
  • The File Open dialog box does not default to the program directory of an open workspace.
  • ?<function name> does not display the function prototype.
  • fr st fails with MIPS host and x86 target with windbgrm.
  • In a stack trace, the function name displayed for a function without a symbol is the return address of the next frame.
  • The base expression of expanded structure is added using quick watch, not the selected item.
  • Breakpoints may not work correctly in multithreaded applications in areas not protected by critical sections.
  • Choosing Stop Debugging and Restart causes a memory leak (100K per iteration).
  • The Watch dialog does not set default watch expression to the selection made in the source window.
  • A Long expression (?arg00+arg01+...+arg31) causes the debuggee to run to termination.
  • ?<function returning near pointer> displays segment.
  • When setting up for kernel debugging, the user must enter the target processor architecture in the Kernel Debugging dialog box. If the wrong value is selected, the target machine will crash the first time the user tries to set a breakpoint, or change its context.
  • Module load messages lock up WinDbg. While a module is loading, no other input is allowed.
  • WinDbg cannot debug ntvdm on the RISC platform.
  • The Find dialog box can be reselected while the dialog box "The string xxxx was not found" is still open.
  • The Cancel button from the "Ask to save workspace if Modified" dialog box causes WinDbg to exit, instead of return.
  • You cannot move the caret in the Dissassembly Window by pressing the UP ARROW and DOWN ARROW keys.
  • You cannot set a breakpoint on the first line in the Dissassembly window.
  • WinDbg can close prematurely if a breakpoint is ambiguous.
  • Data type "const WCHAR *const" displays only the first letter of the string.
  • A previously added exception is selected when you attempt to add a new exception in the Exceptions dialog box.
  • WinDbg is unable to evaluate an enum expression on PPC.
  • WinDbg cannot find symbols for class names on PPC. Therefore WinDbg is unable to set breakpoints on constructors or other member functions.
  • When server debugging, WinDbg does not look in the symbol search path set in the User DLLs dialog box. Instead, it looks in the current path.
  • The Single Message list does not contain WM_ENTERMENULOOP or WM_EXITMENULOOP.
  • An Access Violation occurs if the LM command is used when debugging a 16-bit Windows-based application.


Additional reference words:
KBCategory: kbtool kbbuglist
KBSubcategory: TlsWindbg


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 12, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.