The Disassembler panel offers several customizable options. You can check or change these options using the Disassembler Options dialog. To call it, do any of the following:
-
Select Options from the context menu of the Disassembler panel.
-
Select Options > Options from AQTime’s main menu and choose the Services > Disassembler group in the ensuing Options dialog.
-
Select Options from the context menu of the Disassembler panel.
-
Right-click Disassembler in Visual Studio’s Solution Explorer and select Properties from the context menu.
-
Select Tools > Options from the main menu of Visual Studio and choose the AQTime > Services > Disassembler group in the ensuing Options dialog.
-
Select Options from the context menu of the Disassembler panel.
-
Select AQTime > Options from the main menu of Embarcadero RAD Studio and choose the Services > Disassembler group in the ensuing Options dialog.
All options are divided into two large groups, Disassembler Panel and Native Disassembler, which you select on the left of the dialog.
Disassembler Panel
Options of this group specify the appearance and behaviour of the Disassembler panel, which is the disassembly display in AQTime.
-
Display code - Specifies how AQTime displays source code in the panel. This option can have one of the following values:
-
Assembler only - The panel displays only the assembler instructions, one per line.
-
Assembler and source - The panel displays the source code. Each source line appears as a node, which can be expanded to display its assembler instructions. Note that Disassembler displays only the source lines for binary code that exists. That is, the panel does not display empty lines, comments and so on.
-
Assembler and full source - Similar to Assembler and source. However, if this value is set, the Disassembler panel displays all of the source lines, including those for which the compiler did not generate assembler instructions: Empty lines, comments and so on.
-
-
Behaviour
-
Show panel header - Sets whether to display special information about the selected routine at the top of the panel.
-
Show instruction description - Sets whether to display description of the selected instruction at the bottom of the panel.
-
Show source line summary - Sets whether an extra line will be added to the disassembly for each source line (when displayed), in order to show Size, Latency, Ops and Throughput totals for the source line.
-
Show summary - Sets whether a footer row will be added to show totals for the Size, Latency, Ops and Throughput columns.
-
Auto expand - This option only applies when the Display code option is set to Assembler and source or Assembler and full source. If Auto expand is on, the Disassembler panel automatically expands the nodes, which correspond to source lines. Otherwise, these nodes remain collapsed.
-
Word wrap - If this option is enabled, the Disassembler panel wraps text in its cells. Otherwise, the panel displays ellipses to show that some part of the text is hidden.
-
Upper case mnemonics - Sets whether assembler instructions will be shown in upper case, rather that lower.
-
-
Grid view parameters
-
Grid lines display mode - Specifies the mode of displaying grid lines between columns and rows. Available values: Both (both vertical and horizontal grid lines are shown), None (no grid lines are shown), Vertical (only vertical grid lines are shown) and Horizontal (only horizontal grid lines are shown).
-
Background color - Sets the background color for the disassembly lines.
-
Source line color - Sets the background color for the source code lines.
-
Tab width - Sets the width in spaces of a tab character. 2 is default. 0 means that the standard Windows tab width will be used.
-
Native Disassembler
Options of this group are used to configure disassemblers that are installed in AQTime.
-
Show addresses as RVA - This option specifies what format should be used to display addresses in the Address and Target columns of the Disassembler panel. The address of each routine consists of two components: The base address of the module, which is the address where the module is loaded in memory, and the offset of the routine relative to this base address. The offset is also called a relative virtual address (RVA). If Show addresses as RVA is enabled, the Address and Target columns display only relative virtual addresses. Otherwise, they display the full routine addresses, that is, the base address + the offset. Note that the base address can be determined only after the module has been loaded into memory. The preferred loading address is used as the base one. The preferred loading address is specified in the header of the executable. To find it in AQTime, check the Optional header section on the PE Information page of the PE Reader panel.
-
Processor family - The same sequence of hex codes may correspond to different instructions on different processors. The Processor family option specifies the processor type for which the executable was compiled. Use this option to provide proper disassembly info, because if the disassembler confuses one instruction, it will also confuse other instructions that follow the one that causes the confusion.