Compuware.Com
Total Page:16
File Type:pdf, Size:1020Kb
Using SoftICE® Version 3.2 Technical support is available from our Technical Support Hotline or via our FrontLine Support Web site. Technical Support Hotline: 1-800-538-7822 FrontLine Support Web Site: http://frontline.compuware.com This document and the product referenced in it are subject to the following legends: Access is limited to authorized users. Use of this product is subject to the terms and conditions of the user’s License Agreement with Compuware Corporation. © 2004 Compuware Corporation. All rights reserved. Unpublished - rights reserved under the Copyright Laws of the United States. U.S. GOVERNMENT RIGHTS Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in Compuware Corporation license agreement and as provided in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), DFARS 252.227-7013(c)(1)(ii)(OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable. Compuware Corporation. This product contains confidential information and trade secrets of Compuware Corporation. Use, disclosure, or reproduction is prohibited without the prior express written permission of Compuware Corporation. DriverStudio, SoftICE Driver Suite, DriverNetworks, DriverWorks, TrueCoverage, and DriverWorkbench are trademarks of Compuware Corporation. BoundsChecker, SoftICE, and TrueTime are registered trademarks of Compuware Corporation. Acrobat® Reader copyright © 1987-2003 Adobe Systems Incorporated. All rights reserved. Adobe, Acrobat, and Acrobat Reader are trademarks of Adobe Systems Incorporated. All other company or product names are trademarks of their respective owners. US Patent Nos.: Not Applicable. Doc. 11577a December 10, 2004 Table of Contents Preface Purpose of This Manual . xiii What This Manual Covers . xiv Conventions Used In This Manual . xvi Accessibility . xvi How to Use This Manual . xvii Other Useful Documentation . xvii Customer Assistance . xviii For Non-Technical Issues . xviii For Technical Issues . xviii Chapter 1 Choosing Your SoftICE Version SoftICE or Visual SoftICE? . 1 Single Machine Debugging: SoftICE . 2 Dual Machine Debugging: Visual SoftICE . 3 But Which One Should I Use? . 4 Chapter 2 Welcome to SoftICE Product Overview . 7 Benefits of SoftICE . 7 How SoftICE is Implemented . 9 SoftICE User Interface . 9 About Symbol Loader . 11 iii Chapter 3 SoftICE Tutorial Introduction . 13 Loading SoftICE . 14 Controlling the SoftICE Screen . 15 Moving and Resizing SoftICE Windows . 18 Overview of the Sample Software . 19 Building the Sample Code . 20 Launching the Application . 21 Tracing and Stepping through the Source Code . 23 Viewing and Editing Local Data . 24 Editing Local Data . 25 Setting Point-and-Shoot Breakpoints . 26 Setting a One-Shot Breakpoint . 26 Setting a Sticky Breakpoint . 27 Setting a Conditional Breakpoint . 29 Editing a Breakpoint . 29 Setting a Read-Write Memory Breakpoint . 30 Using SoftICE Informational Commands . 32 Using Symbols and Symbol Tables . 34 Using Symbol Loader . 36 Single File Mode . 37 Workspace View Mode . 38 A Word on Symbol Server Technology . 42 Chapter 4 Loading Code into SoftICE Debugging Concepts . 43 Preparing to Debug Applications . 44 Preparing to Debug Device Drivers and VxDs . 44 Loading SoftICE . 45 Early Loading of SoftICE . 45 Loading SoftICE Manually . 46 Building Applications with Debug Information . 46 Using Symbol Loader to Translate and Load Files . 48 Modifying Module Settings . 49 Modifying General Settings . 50 Modifying Translation Settings . 51 Modifying Debugging Settings . 53 iv Using SoftICE Specifying Modules and Files . 55 Modifying Source Files . 56 Deleting Symbol Tables . 58 Downloading Symbols from a Symbol Server . 60 Using Symbol Loader From an MS-DOS Prompt . 61 Using the Symbol Loader Command-Line Utility . 62 NMSYM Command Syntax . 63 Using NMSYM to Translate Symbol Information . 64 Using NMSYM to Load a Module and Symbol Information . 68 Using NMSYM to Load Symbol Tables or Exports . 71 Using NMSYM to Unload Symbol Information . 72 Using NMSYM to Save History Logs . 73 Getting Information about NMSYM . 74 Chapter 5 Navigating Through SoftICE Introduction . 75 Universal Video Driver . 76 Setting the Video Memory Size . 77 Popping Up the SoftICE Screen . 78 Disabling SoftICE at Startup . 78 Stopping SoftICE at Startup . 78 Using the SoftICE Screen . 79 Resizing the SoftICE Screen . 81 Controlling SoftICE Windows . 81 User-definable Pop-up Menus . ..