- Decompiler Context Menu
- Copy
- Copy Instruction Address
- Copy Address of Reference
- Show the code in another widget
- Show the selected item in another widget
- Add and Edit Comment
- Delete a Comment
- Rename function
- Give a name or rename global variables
- Delete the name of a global variable
- Rename Function Variable
- Edit Local Variables and Arguments
- Show Cross References
- Debug Context Menu
Decompiler Context Menu
The decompiler context menu is a context-sensitive menu that contains actions that are available for the position under the cursor.
Copy
Description: If text is selected, copy the selected text to the clipboard. If a word is highlighted, copy that word. In all other cases, copy the line under the cursor.
Steps: Right-click on a selected text and choose Copy
Shortcut: Ctrl-C
Copy Instruction Address
Description: Copy the address of the instruction mapped to the part of the code under the cursor.
Steps: Right-click on the portion of code for which you want the instruction’s address and choose Copy instruction address (<address>)
Copy Address of Reference
Description: Copy the address of the reference under the cursor. References include functions, global variables, and constant variables with an address.
Steps: Right-click on a reference and choose Copy address [of <name>] (<address>)
Shortcut: Ctrl-Shift-C
Show the code in another widget
Description: Show the code under the cursor in another opened widget, or open a new one. If a non-decompiler widget is chosen, the address mapped to the portion of code under the cursor will be opened in that widget.
Steps: Right-click on an item and go to the Show in submenu. You can choose a widget or open a new widget from here.
Show the selected item in another widget
Description: Show the selected item in another opened widget, or open a new one. Items include functions, global variables, and constant variables under the cursor.
Steps: Right-click on an item and go to the submenu Show <item> in or <function name> (<address>). You can choose a widget or open a new widget from here.
Add and Edit Comment
Description: Add a comment for the line of code under the cursor or edit the comment under the cursor. The Edit comment
option is only available for user-defined comments.
Steps: Right-click and choose Add Comment
or Edit Comment
.
Shortcut: ;
Delete a Comment
Description: Delete the comment under the cursor. If a comment doesn’t exist under the cursor, delete the comment at the offset mapped to the portion of code under the cursor.
Steps: Right-click on an instruction with a user-defined comment and choose Delete comment
Rename function
Description: Rename a function under the cursor.
Steps: Right-click on a function name and choose Rename function <name>
Shortcut: N
Give a name or rename global variables
Description: Give a name or rename the global variable under the cursor.
Steps: Right-click the global variable and choose Add name to <address of global variable>
or Rename <name>
.
Shortcut: N
Delete the name of a global variable
Description: Delete the name of the global variable under the cursor.
Steps: Right-click on a global variable and choose Remove <name>
.
Rename Function Variable
Description: Rename local variables and arguments in the decompiled function. Note that this option is available only for function variables defined in the disassembly.
Steps: Right-click on a variable and choose Rename variable <name>
.
Shortcut: N
Edit Local Variables and Arguments
Description: Rename or set the types of the function’s variables and arguments. Note that this option is available only for function variables and arguments defined in the disassembly.
Steps: Right-click on a variable and choose Edit variable <name>
.
Shortcut: Y
Show Cross References
Description: Show X-Refs to the reference under the cursor. This option will open Cutter’s X-Refs dialog in which you will be able to see a list of X-Refs from and to the address of the reference. You can also see a preview of each cross-reference to quickly inspect the different usages. Note that references refer to function names, global variables, and constant variables with an address.
Steps: Right-click on a reference and choose Show X-Refs
Shortcut: X
Debug Context Menu
Add or Remove Breakpoint
Description: Add a breakpoint at the earliest offset in the line under the cursor. If you use the keyboard shortcut to remove a breakpoint, all the breakpoints defined in the line will be removed.
Steps: Right-click on a line of code and choose Breakpoint ‣ Add breakpoint or Breakpoint ‣ Remove breakpoint.
Shortcut: F2
Advanced Breakpoint Dialog
Description: Open the advanced breakpoint dialog. This dialog lets you define not only a regular breakpoint in this address, but also a hardware breakpoint, a conditional breakpoint, and more.
Steps: Right-click on a line of code and choose Breakpoint ‣ Advanced breakpoint. If multiple breakpoints are present in the line, you will be able choose the breakpoint you want to edit from the Edit breakpoint submenu.
Shortcut: Ctrl-F2
Continue Until Line
Description: Continue the execution of the program until it reaches the offset in the selected line. The program is not guaranteed to ever reach this address and will keep running until exited or until reached another breakpoint. If other breakpoints hit before reaching this line, they will be triggered and pause the execution. This option is only available on Debug or Emulation modes.
Steps: While in Debug or Emulation modes, right-click on a line of code and choose Debug ‣ Continue until line.
Set Program Counter (PC)
Description: Set the Program Counter of the debugger to the current offset. For example, on an Intel 64bit program, Cutter will set the value of the RIP register to the current address. This option is only available on Debug or Emulation modes.
Steps: While in Debug or Emulation modes, right-click on a line of code and choose Debug ‣ Set PC.