Decompiler Actions
The decompiler provides three primary views: Pseudocode, Microcode, and CTree Viewer, each with its own set of actions. These actions are accessible either from the top menu bar or through context menus.
To explore which actions are available from the top menu bar for each view, refer to Menu Bar Actions.
Most actions are context-sensitive and are only available when the cursor is positioned on specific elements.
Pseudocode Actions
Below is an overview of all decompiler-related actions available in the Pseudocode Actions.
hx:AddEmptyLine
This action is invoked when the user presses Enter at the end of a line.
hx:AddCast
This command overrides the pointer type of the current expression. It appears in the context menu when the cursor is on an expression with a pointer type.
hx:CollapseDecls
This command collapses the current statement into one line. It can be applied to multiline statements (if, while, for, do, switch, blocks).
hx:CollapseElse
Collapse the else-branch of the current if statement into a single line, leaving the then-branch untouched.
hx:CollapseThen
Collapse the then-branch of the current if statement into a single line, leaving the else-branch (if any) untouched.
hx:Cvt2StrucPtr
Specify the current variable as a pointer to a selected structure.
hx:NewStruc
Convert the current local variable from a non-pointer type to a pointer to a newly created structure type.
hx:EditBlockCmt
Edits the block comment for the current line. The entered comment will be displayed before the current line.
hx:EditCmt
This command edits the indented comment for the current line or the current variable. It can be applied to the local variable definition area (at the top of the output) and to the function statement area (at the bottom of the output).
hx:Enum
Switch to enumeration (symbolic constant) representation. See also Number representation.
hx:NopropVar
Disable propagation of the assignments of the specified local variable.
hx:ForceCallType
Tell the decompiler to skip analyzing the call arguments and instead use the type of the called object as-is.
hx:InvertIf
Swap the then- and else-branches of an if statement and negate the condition, leaving behavior unchanged.
hx:JumpGlobalXref
Decompile all non-trivial functions in the database and look for xrefs in them.
hx:JmpXref
Open the standard dialog box with the cross references to the current item.
hx:RemoveArg
Remove an argument or the return type from a function prototype.
hx:ResetPtrType
Reset the type of the current local variable from a pointer type to an integer type.
hx:SetCallType
Set the type of the current function call without changing the type of the called function itself.
hx:CallDecomp
Decompile all functions that call the selected function and display their call sites.
hx:XrefDecomp
Decompile all functions that reference the selected global variable and display the relevant code snippets in a separate window.
hx:SplitVar
Forces the decompiler to create a new variable from the current point when the same stack slot is used for different purposes.
hx:StockComments
Manage the "stock comments" (creating, deleting, and editing), and apply them to the listing.
hx:HexDec
Toggle between hexadecimal and decimal representations. See also Number representation.
hx:ExpandItem
Expand a previously collapsed statement or declaration back to its full multiline form
hx:UnsplitExpr
Reverse a previous Split operation, removing all effects of the Split command.
hx:UnsplitVar
Revert a split variable back to a single variable by removing the split point
Microcode Actions
Below is an overview of all decompiler-related actions available in the Microcode Actions.
mv:GenMicro
This command opens the Microcode view for the current function, displaying the decompiler's intermediate representation at various maturity levels. See subviews for more.
CTree Viewer Actions
Below is an overview of all decompiler-related actions available in the CTree Viewer Actions.
cv:GenCTree
Open the CTree view that renders the decompiler's C-level AST (ctree) for the current function.
cv:JumpToDisasm
From the CTree view, jump to the instruction in the IDA View that corresponds to the ctree node under the cursor.
cv:JumpToPseudo
From the CTree view, jump to the line in the Pseudocode view that corresponds to the ctree node under the cursor.
cv:Refresh
Regenerate the ctree for the current function and redisplay it in the CTree view. Use this after changes to the pseudocode (rename, retype, comments, etc.) that may affect the underlying ctree.
Last updated
Was this helpful?
