| |||||||||
introduction driverstudio is a modern, easy-to-use, comprehensive tool set that addresses all phases of the driver development life cycle including:
driverstudio improves the quality and performance of windows drivers allowing driver developers to meet critical development schedules, and now allows the developer to cr-eate device drivers in either visual studio .net or visual studio 6 with its driverworkbench. driverstudio supports windows xp, windows 2000 and windows server 2003. in fact, compuware driverstudio is quite simply the most comprehensive suite of driver productivity tools on the market. developing the driverdriverstudio supports the design and development of device drivers for windows. through driverworks and drivernetworks, much of the detail work in designing and building new device drivers for windows-based systems is automated. the driverworks development tool automates the process of creating a windows device driver with its driverwizard and whql-certified sample drivers based on real hardware. the driverwizard provides a step-by-step guide that takes you through screens in which you can specify pertinent information for the driver you are developing. by generating much of the source code, for example, plug and play (pnp) and power management code, driverworks jump-starts your driver development project and saves literally weeks of development time. for example, driverwizard "understands" the popular buses: usb, pci, 1394, isa and more. se-lect the bus your driver will interface with and driverwizard generates the appropriate source code. navigation buttons let you move forward and backward in the process, freely altering and adjusting project parameters. each step in the driverwizard is accompanied by context-sensitive help so you know exactly what you need to do. at any step in the process, you can se-lect "finish" and, based on your se-lections, source codes will be generated. driverwizard produces structured and predictable source code, all bundled into a visual studio project. all you need to do is fill in the blanks in this skeleton driver. we"ve made that job easy, too. liberally sprinkled throughout the source code, you"ll find "todo" placeholders, which eliminates the guesswork by showing you exactly where your hardware-specific code has to go, and ls you exactly what the code has to do. with the driverworks class libraries, you can use thousands of lines of tested debugged, whql-certified source code including power management and pnp to simplify coding. use driverwizard to jump-start driver development and our class libraries to save time throughout development by simplifying coding. with driverstudio whql-certified sample source code, you can copy the code you need and paste it directly into the driver you are developing. if you are developing tdi or ndis network drivers, driverstudio also includes drivernetworks, a development tool for network drivers. drivernetworks offers the same comprehensive functionality for network driver development that"s available in driverworks including the drivernetworks wizard, as well as class libraries and sample source code applicable to network drivers. compiling and linking is very simple with driverstudio. without leaving the visual studio 6 or the .net environment, you can use the ddk build button to compile and link your driver. you don"t have to work in the complex ddk build environment. the bottom pane of the figure shows which commands are being executed after the build button is se-lected. as you can see, code compiled using the build button is compiled and linked against the c compiler contained in the ddk, not the c compiler contained in visual studio 6 or .net, which is in compliance with whql-certification standards. driverwizard provides the precise kick-start that your driver project needs. it removes most of the uncertainty you face whenever you tackle a new device driver project. driverwizard can write the source code for the most common parts of the device driver, letting you concentrate on the specifics of your design locating and debugging errors driverstudio now provides two options for comprehensive system debugging—softice and visual softice. softice is the premier, award-winning single-machine debugger that gives any developer full and system-wide insight into the windows environment. with softice, you can track calls and events down to the lowest level of the operating system. introduced in this release of driverstudio, visual softice is a two-machine debugger that functions like softice, provides the same information as softice, but has a modern, multiple-window, graphical user interface for easier system-wide, multiple-machine debugging. because drivers run in kernel mode, it is difficult to access the insides of device drivers while they"re executing. traditional debugging tools run at the windows application level, and can"t observe and report actions and events occurring at the driver level. softice and visual softice are designed specifically to run between the operating system and the hardware, and can see interactions between drivers, calling routines and kernel services—a capability that is absent from application-level debuggers. both softice and visual softice, when invoked, stop the system under test, preserving valuable system-state information. softice accommodates a variety of debugging configurations. in a multi-machine arrangement, softice can debug a target machine across a serial line, as well as an ip connection. this is ideal for those situations where the target machine is in a remote location. or, softice can run on a single pc, eliminating the need for a second machine to run the driver being debugged. visual softice can use a 32-bit master machine to debug one or more 32-bit or 64-bit target machines. visual softice’s 64-bit processor support handles in itanium and itanium 2 processors as well as amd opteron and the athlon64 family of processors. solving problems with windows device drivers can be challenging. because ordinary debugging tools share windows resources, they have limited access to the windows kernel. crashing device drivers are the main cause of "blue screens." when windows crashes, they crash, too. without softice or visual softice, figuring out the cause of a blue screen can take weeks. with softice or visual softice, you can peer into the operating system kernel and examine instructions, events, calls, etc. both softice and visual softice provide a symbol loader that allows you to debug symbols as well as source code. they also include a symbol retriever with which you can retrieve the necessary symbols from the internet. softice’s user interface has resizable windows that toggle and display a user-configurable se-lection of windows internal information. with softice, you control the whole system the entire time—especially during a failure, when valuable system state information is still available. a user-definable hot key allows you to pop-up the softice screen and "freeze" the operating system. you can then explore code, stack, memory, registers and whatever else you need to track down driver problems. for years, softice has been the last word in serious, system-level debugging. softice and visual softice provide driver developers with:
with softice and visual softice, you can be a better device driver developer, by spending less time searching for driver errors and more time developing drivers. testingboundschecker driver edition is an automated error detection tool and system-wide event logger that can locate memory leaks, resource leaks and api validations in device drivers, and then automatically invoke softice or visual softice when an error is encountered. using boundschecker with softice or visual softice freezes the machine at the point of the error so you can examine the contents of the registers and memory in the stack, and see the error condition. out of the thousands of possible events that can be generated, you have almost unlimited flexibility in filtering just the ones you want to see. se-lect individual drivers or categories of events for capturing and examining data in greater detail. any errors detected are recorded in the boundschecker log for further analysis. boundschecker introduces new monitoring functionality in driverstudio 3.0. as with previous releases, you can run boundschecker to search for a specific error on a remote machine, and automatically invoke softice when an error occurs. now you can also log the error and the events leading to it, place the data in a file, and attach the file to a mail message that you can send to the appropriate person who can fix the problem. this is particularly convenient for development groups who are integrating third-party drivers into desktops, notebooks or new hardware peripherals. boundschecker driver edition can debug device drivers on windows server 2003, windows xp, windows 2000 and windows millennium. if you have the source code of the target drivers on the system being debugged, boundschecker can identify the exact line of source that produced specific driver events. even if you don"t have the source code available, you can call upon truecoverage driver edition, another driverstudio tool, to give you extensive information about the driver"s behavior. and if you"ve developed the driver with driverworks or drivernetworks, even more information on driver behavior is available. with boundschecker driver edition, you quickly gain a deep understanding of how your driver interacts with the rest of the system. boundschecker provides extensive information that helps you get to the bottom of errors quickly. the result is that your drivers (and the devices they support) get to market quicker than in the past. boundschecker lets you spend more time improving the quality of your code, and less time chasing down errors. the boundschecker reader is the api that gives users local or remote access to boundschecker functionality. it is fully integrated with microsoft visual studio .net and with compuware"s driverworkbench. the boundschecker reader gives the user multiple views of the system under examination, including comprehensive lists of events, processes, drivers, devices and operating system ob-ject namespaces. it also provides a view into pentium architectural tables such as the gdt and the idt, and it exposes the stacks for all threads that are running. these views have multiple user-se-lectable levels of detail and they run fully integrated within microsoft visual studio .net. boundschecker can be configured to monitor events related to the usage of system-wide resources. this gives the programmer a comprehensive view of which resources are being allocated and freed at any time. they also allow detection of resource usage rules violations, or resource "leaks," such as cases where programs allocate shared system resources but do not free them after they are no longer needed. some of the resources monitored by boundschecker are memory, file handles, registry entries and interrupt request levels. boundschecker also checks a number of technical issues related to the programming of direct memory access device drivers, which helps developers by automating some of the "black arts" involved in bringing a dma driver up to speed. truetime driver edition is a performance analysis tool that helps you quickly locate performance bottlenecks. the tool consists of a data collection driver and a data reduction and presentation plug-in that runs fully integrated within microsoft visual studio .net or the driverworkbench environment. truetime is designed to help the driver developer isolate latency and bandwidth problems, and identify performance hotspots. truetime automatically instruments your driver code at runtime, so recompilation is not required. not only does truetime provide detailed statistics of the execution of individual functions, it also furnishes charts that plot data flow through your driver (i.e., i/o request packet completion times, deferred procedure call [dpc], latencies and more). truetime also tracks individual subfunctions within functions. truetime is not a sampling performance monitor, but a real-time data collection engine. it has detailed knowledge of the internals of windows drivers, and it takes advantage of that knowledge to present a very accurate performance profile of the driver under test. truetime allows the data collected at a target machine to be examined by a remote host running either visual studio .net or the driverworkbench environment. truecoverage driver edition is an automatic coverage analysis tool that makes it easy to test drivers thoroughly. because device drivers run in kernel mode, they require a high level of accuracy across many different system configurations. truecoverage driver edition gives the device driver developer code coverage analysis, ensuring all code paths in the device driver are tested before the software is released to the field. truecoverage driver edition takes the guesswork out of testing. it will instrument a driver automatically; you don"t have to recompile, rebuild or add instrumentation code manually. truecoverage collects information on source lines executed, and delivers code coverage information that gives you a clear picture of how well your driver has been tested. truecoverage looks inside the driver and ls the user which lines of code or machine instructions have been executed and how often—on a line-by-line or instruction-by-instruction basis. if you don"t have access to sources or symbols, truecoverage driver edition graphically depicts the code as block diagrams and uses arrows to indicate jump instructions so that you can see how many times certain code paths have actually been executed. truecoverage driver edition also collects information from successive testing sequences and gathers that information into a usable summary. for example, truecoverage merges test coverage results from successive trials and automatically shows complete coverage statistics over the entire testing process. it also keeps track of which functions have changed over the course of the testing, giving you information on how volatile the code base is during testing. truecoverage also provides a view that lets you examine individual lines of code, and each is colored to indicate its coverage disposition (green if covered, red if not, black if unreachable). truecoverage analyzes the source or machine code and provides a 2d or 3d flowchart of analyzed code. the flowchart is displayed side by side with the coverage analysis, as seen in the provided screen shot. driverstudio provides a modern set of windows driver development tools—no other collection of tools provides the same sort of end-to-end support that comes with driverstudio. |
暂无信息 |