In this menu, you can select a command to jump to the specified location in the file. Jumps are very fast and your previous position is saved. This submenu contains the following items:
See also
Search menu for fast navigating.
Jumps Stack concept.
Menu Bar submenus
By pressing <Enter> you navigate in the program in the same way as in a hypertext (the way the web browsers and help screens use).
This is the easiest way to explore the program: just position the cursor at the desired name and press "@<JumpEnter>".
Your current address is saved in the jump stack.
The Jump back command (usually Esc) will return you back.
If the cursor is at a stack variable, a window with stack variables is opened and the definition of the stack variable is displayed.
See also
Empty Stack command.
This command brings you back to the previous position in the history. It takes positions from Jumps Stack.
See also
Undo "jump back" command
Empty Stack command.
This command cancels the last Jump back command.
See also
Empty navigation stack command.
This command clears the jump stack.
See also
Jump back command.
Each IDA Window has its own jump stack. This stack keeps the cursor locations. Many IDA commands use the jump stack, i.e. they save the old cursor position to the stack. For example, when you are at the address 3000:0100 and press the Ctrl-C key (find instruction), the 3000:0100 is saved into the jump stack and the search is started. Afterwards, you can return to the old position using Jump back command.
You can clear the jump stack using the Empty stack menu command.
This command jumps to the specified address in the program. IDA will ask you for the target address. You can enter a name or an address as a hexadecimal number with or without a segment. If you enter a valid address then:
the current address is saved in the jump stack.
the cursor is positioned to the specified address. The Jump back command (usually Esc) will return you back.
In the structure and enum views, the cursor will be moved to the corresponding offset in the current type.
See also
IDA will ask you for a target file offset. This command jumps to the address corresponding to this specified file offset. If this file offset corresponds to a valid address then:
the current address is saved in the jump stack.
the cursor is positioned to the corresponding address. The Jump back command (usually Esc) will return you back.
This command allows you to jump to a name definition by selecting it from the list of the names.
IDA will display the list of the names (sorted by addresses) and you can choose a name. Dummy names (generated by IDA) are not listed. Hidden names are not listed either. You can control which names are listed in the Names representation dialog box.
See also How to use the lister.
This command jumps to the start of the selected segment. IDA will ask you to select the target segment. After:
the current address is saved in the jump stack.
the cursor is positioned to the specified address. The Jump back command (usually Esc) will return you back.
See also:
This command jumps to the selected Segment Register Change Point. IDA will ask you to select a target change point. And after:
the current address is saved in the jump stack.
the cursor is positioned to the specified address. The Jump back command (usually Esc) will return you back.
This command allows you to jump to a problematic location. IDA will display the Problems List and will allow you to select a problem.
The Jump back command (usually Esc) will return you back.
You can mark certain locations of the file to be able to jump to them quickly. Text description of the location may help to find a desired location easily.
First select a slot for the mark, then enter a description for the location.
This command jumps to the selected position. IDA will ask you to select a target position. After:
the current address is saved in the jump stack.
the cursor is positioned to the specified address.
The Jump back command (usually Esc) will return you back.
You can mark the position using Mark Position command.
This command shows you a list of cross-references to the current location: you can jump to the selected one by pressing Enter.
Click here to see the description of the cross reference dialog box.
See also
The cross reference dialog displays a list of references to the various items. Each line has the following attributes:
Direction Up or Down. Meaningful for program address; denotes where the reference comes from, from the lower addresses than the reference target (down) or from higher addresses (up).
Type
Address
Text
This command shows you a list of cross-references from the current location: you can jump to the selected one by pressing Enter.
Click here to see the description of the cross reference dialog box.
See also
This command shows you a list of cross-references to the current operand: you can jump to the selected one by pressing Enter.
Click here to see the description of the cross reference dialog box.
See also
This command shows you a list of functions: you can jump to the selected one by pressing Enter.
See also
This command searches the start of the next function and jumps to the found address.
This command searches the start of the previous function and jumps to the found address.
This command shows you a list of entry points: you can jump to the selected one by pressing Enter.
The list of entry points is created at the database creation time. It is not modified after that (for example, renaming an exported function does not change the list of entry points).
The following problems may occur:
NOOFFSET Cannot find offset base
NONAME Cannot find name
NOCMT Cannot find comment
NOREF Cannot find references
INDIRJMP Indirect execution flow
NODISASM Cannot disassemble
ALREADY Already data or code
OVERFLOW Too many lines
See also Jump submenu.
What to do: Mark the operand again as an offset. Use one of the following commands:
Description: Two reasons can cause this problem: 1.Reference to an illegal address is made in the program being disassembled; 2.IDA couldn't find a name for the address but it must exist. What to do:
If this problem is caused by a reference to an illegal address
Otherwise, the database is corrupt.
What to do: Enter the operand manually again. Use one of the following commands: User-defined operand
What to do: Database is corrupt, the best thing to do is to reload the database.
Possible reason(s):
The specified bytes do not form an instruction.
The current processor type is incorrect. What to do: If you are sure that the specified bytes contain an instruction, you can try to change processor type and mark these bytes as an instruction using the following command: Convert to instruction
Description: IDA cannot convert this byte(s) to an instruction or data because it would overlap another instruction. What to do: Make the following overlapping instruction or data 'unexplored' using undefine command.
Description: IDA encountered a jump or call instruction to an illegal address. Namely:
jump/call beyond program segments
near jump/call beyond the current segment What to do:
Enter the operand manually
or Create a new segment making the illegal address legal
or Change the current segment bounds using one of the following:
What to do:
If the current item is an array or String literal, try to divide it. or
Delete Additional comment lines or
Disable cross-references display or 4. Increase the limit in IDA.CFG, the parameter name is MAX_ITEM_LINES.
What to do:
Examine the value of stack pointer at various locations of the function and try to find out why the stack tracing has failed. Usually, it fails because some called function changed the stack pointer (by purging the input parameters, for example)
If you have found the offending function, change its attributes (namely, number of bytes purged upon return).
Another way is to specify manually how the stack pointer is modified. See Change stack pointer command
This command centers the cursor.