|
Whenever data is transferred to or from a device, and you want to view the raw hex / ASCII data, you select the Raw Data tab.
This window shows you the raw hex data that was captured by busTRACE. The View tree control to the left side shows you the available raw data that you can view. Simply select the data you are interested in viewing. Below are some common values:
I/O Stack Location |
This selection shows you the single I/O stack location (IO_STACK_LOCATION) that the port driver processed.
|
IRP Structure |
This selection shows you the captured IRP structure.
|
SCSI Request Block |
This selection shows you the captured SCSI_REQUEST_BLOCK structure
|
Storage Request Block |
This selection shows you the captured STORAGE_REQUEST_BLOCK structure
|
USB Request Block |
This selection shows you the captured URB structure
|
Data Transfer |
This selection shows you the captured data transfer
|
At the top of the window, a toolbar is available with various options.
|
Selecting this option will save the raw data into a separate binary file. For example, if you have 16 bytes captured, a 16-byte .BIN file would be created. The data is stored in binary format, not in a text file.
You can use the mouse to select a range of I/O to save to file. Simply left click and drag over the range of bytes you want to select. Then release the mouse. When you click on the Save button, you will be told that only a subset will be saved. |
|
Select this option will copy the raw data, in text format, to the clipboard. You can use this feature to quickly copy and paste the raw data into another document. You can also use your mouse to select a range of bytes within the window and right click to copy the contents to the clipboard in text format. |
|
Select this option to have the editor jump to a specific offset within the buffer. In the window that appears, you can specify the value in hex (e.g. 203h, 0x203), or enter the value in decimal (e.g. 515). |
|
Windows I/O Request Packets (IRPs), when created, are sent from upper level drivers down to lower level drivers in a chain. This is referred to as going "down" the I/O stack. When the I/O completes, the drivers that were in the chain are called in reverse order to be notified of their completion (if they requested to be notified). This is referred to as going "up" the I/O stack.
busTRACE captures any data transferred that is available as the I/O goes down the stack or as the I/O goes back up the stack. Almost always, there will only be data to capture in one direction (i.e. only down or up the stack). For example, if data is being written to a device, the data is captured as it goes down the I/O stack. If data is being read from a device, the data is captured as it goes up the I/O stack.
When busTRACE shows you the data it captured, it automatically shows you the data going down or up the stack depending on which direction the data was captured. In the rare case where data was captured both going down and back up the stack, you can use the "I/O Down" and "I/O Up" buttons to specify which data you would like to view. The one captured going down the stack or the one captured going back up the stack. One or both buttons will be disabled if data is not available from that direction. |
|
Above, we explained how busTRACE captures data going down and/or up the I/O stack. These next three toolbar buttons determine how the raw data is shown in the window.
You can configure busTRACE to fill the window with data from only one direction (the default). You can then use the I/O Down and I/O Up buttons to decide which data you would like to view.
You can configure busTRACE to show you both the data going down and up the stack in the same window but split the view vertically.
You can configure busTRACE to show you both the data going down and up the stack in the same window but split the view horizontally.
|
|
In its default state, busTRACE shows you the raw data in both hex and ASCII format. You can toggle on/off the display of the hex data by clicking on this button. |
|
In its default state, busTRACE shows you the raw data in both hex and ASCII format. You can toggle on/off the display of the ASCII data by clicking on this button. |
|
busTRACE defaults to showing you as much raw data as will fit within the display. However, you may desire to view only 4 bytes per row, or 8, or 16, etc. This drop down list allows you to specify how many bytes per row you would like busTRACE to display. If the display is not large enough to show you the entire row, a horizontal scrollbar is available at the bottom of the window. |
|
busTRACE defaults to showing you one byte per column. If you are dealing with little-endian data (i.e. Intel byte ordering), you may want busTRACE to show you 2, 4, or 8 bytes per column. This drop down list allows you to specify the number of bytes per column that are displayed. |
Additional Information
This raw hex / ASCII viewer is also used in products such as busPROBE and busSTRESS (among others). There are three additional toolbar buttons that you may find, depending on the product you are using. These are:
These buttons allow you to find any hex data pattern or ASCII pattern within the buffer. You can then use the Find Next and Find Previous buttons to move back and forth between matches.
Note that these three buttons do not appear within the busTRACE bus capture application. Instead, you use the main toolbar Find feature to find any matching data.
See Also:
|
|