WWW bustrace.com



busTRACE 10.0

busTRACE User's Manual




Product Updates


Free Utilities



Online Store

Refund Policy

View Price List

Subscription Renewals




busTRACE Change Log

Frequently Asked Questions

Feature Requests

Contact Support





Contact Us

Quick Links: Home | busTRACE 10.0

Capture I/O activity on local or remote computers
busTRACE 10.0 includes the ability to capture and analyze storage class I/O activity (e.g. SRBs, CDBs, IOCTLs) within your Windows PC. busTRACE also allows you to capture and analyze all low-level USB bus activity (e.g. USB Request Blocks).


busTRACE 10.0 can capture and analyze I/O activity within your Windows PC across a variety of bus architectures. These include:

    ATA/ATAPI Serial ATA (SATA) Serial Attached SCSI (SAS)  
    Fibre Channel RAID PCIe / NVMe  
    1394 / Firewire Multipath I/O (MPIO) and more!  
Using busTRACE 10.0 is easy. You simply select the devices you want to capture I/O activity against, adjust your capture settings and/or trigger points, and then perform the capture. You can even analyze the I/O activity while the capture continues. You can save the results to file for later analysis or to share with others. A variety of export options are also available.
If an I/O request fails, busTRACE fully decodes for you what the exact error returned from the device was. You can view the SRB status, target status, any Request Sense data, the IRP status, and more. If the device returns a check condition, you can click on the Sense Analysis button to get a graphical decoding of the sense data.
Our comprehensive CDB decoding database allows us to fully decode captured Command Descriptor Blocks (CDBs) that are executed. We are able to show you exactly what is returned from the device and what is sent to the device. This ability eliminates the need for you to look at the command specifications to manually decode the results.

Included in our CDB decoding database is busTRACE 10.0's ability to show you common firmware bugs. If busTRACE 10.0 determines that the device is returning invalid data, or that invalid data is being sent to the device, the exact item that is in error is red flagged on screen. This includes validating reserved fields. If the device returns a non-zero reserved value, or a non-zero reserved value is sent to the device, busTRACE flags this as well. busTRACE also checks for, and reports, common miniport driver bugs and software bugs.

Of course if you want to view the raw hex data transferred, busTRACE provides a powerful built-in hex editor. You can customize how you want the data shown including adjusting the number of bytes per column to display (i.e. byte, word, double-word, etc.) as well as the number of columns to display. You can turn on or off the display of hex data and/or ASCII data. You can also jump to a specific offset within the buffer.
For our advanced users, particularly software developers, busTRACE shows you the I/O request structure that was submitted to the port driver and the same structure as it was returned from the port driver. For example, you can see the exact contents of a SCSI_REQUEST_BLOCK structure that is sent to the port driver as well as its return values. Simply click on the "I/O Down" button to view the SRB going down the I/O stack. Select the "I/O Up" button to view the SRB going up the I/O stack.
By default, busTRACE shows you one entry for each captured I/O. However, by selecting the "View Interleaved I/O Activity" button, you can graphically see where the command starts and where it finishes. This tool is invaluable in determining how I/O activity is interleaved on your system. When capturing USB storage devices, this feature also allows you to see the USB Request Blocks (URBs) that were processed in order to execute the SCSI_REQUEST_BLOCK.
You can also configure busTRACE to perform an Extended IRP Capture. With this feature enabled, busTRACE is able to show you the I/O stack contents as the IRP goes down and back up the I/O stack. When possible, busTRACE will also provide you details on the drivers in the callback chain.
When capturing tens of thousands of I/Os, it can be difficult to find the I/O you are searching for. That is why busTRACE 10.0 includes a variety of powerful analysis features. The amount of features are too large to describe in detail which is why we have made the busTRACE 10.0 user's manual available on-line for your viewing. A summary is also available in the Key Features section below.
Key Features
Advanced user interface with tabbed documents, drag-n-drop pane positioning, tear off tabs, sliding auto-hide windows, and more.
Capture all CDB requests (e.g. SCSI_REQUEST_BLOCK, STORAGE_REQUEST_BLOCK, and SCSI Pass Through IOCTLs).
Capture all low-level USB requests (e.g. URB, USB Request Blocks).
Capture all Power Management events (i.e. IRP_MJ_POWER).
Capture all Plug and Play events (i.e. IRP_MJ_PNP).
Capture all port driver IOCTLs.
Ability to adjust capture settings on a per device basis.
Ability to set trigger points on a per device basis.
Our I/O exclusion filter allows you to configure busTRACE to capture only the I/Os you are interested in analyzing.
Capture boot time I/O activity.
Capture I/O activity directly to an exported file.
Automatic e-mail notification.
Share busTRACE capture files with other users of busTRACE 10.0.
Export captured I/O activity to a text file, HTML file, XML Spreadsheet, or CSV file.
Customize which fields appear in the I/O Capture List and in which order. Choose from over 35 different fields.
Our I/O Details window allows you to view, on a per I/O basis, the error analysis, the fully decoded CDB, any raw data transferred, and the data structures used to initiate the I/O request.
Graphically view interleaved I/O activity.
Sort captured I/Os by any number of sort criteria.
Filter from view captured I/O activity using various filters.
Find an I/O request you are interested in analyzing.
Bookmark any captured I/O.
Attach a user comment to any captured I/O.
Perform software defect detection. busTRACE can help the software developer avoid common software bugs in their SCSI Pass Through, or SCSI Request Block, structures.
Perform side-by-side I/O comparison. Show two captured I/Os side-by-side to see if there are any differences between the two.
Transfer your captured CDBs into our busSCRIPT scripting application.
Utilize the busTRACE SDK to inject your own messages into the busTRACE capture buffer or to remotely control busTRACE.
Capture I/O activity remotely
... and so much more!

Additional details available in the busTRACE 10.0 help file