Problems List

The following problems may occur:

See also Jump submenu.

Problem: Cannot find offset base

What to do: Mark the operand again as an offset. Use one of the following commands:

Problem: Cannot find name

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:

  1. If this problem is caused by a reference to an illegal address

  • try to enter the operand manually

  • or make the illegal address legal by creating a new segment.

  1. Otherwise, the database is corrupt.

Problem: Cannot find alternative string for an operand

What to do: Enter the operand manually again. Use one of the following commands: User-defined operand

Problem: Cannot find comment

Problem: Cannot find references

What to do: Database is corrupt, the best thing to do is to reload the database.

Problem: Indirect execution flow

Problem: Cannot disassemble

Possible reason(s):

  1. The specified bytes do not form an instruction.

  2. 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

Problem: Already data or code

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.

Problem: Execution flows beyond limits

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:

  1. Enter the operand manually

  2. or Create a new segment making the illegal address legal

  3. or Change the current segment bounds using one of the following:

Problem: Too many lines

What to do:

  1. If the current item is an array or String literal, try to divide it. or

  2. Disable cross-references display or 4. Increase the limit in IDA.CFG, the parameter name is MAX_ITEM_LINES.

Problem: Failed to trace the value of the stack pointer

What to do:

  1. 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)

  2. If you have found the offending function, change its attributes (namely, number of bytes purged upon return).

  3. Another way is to specify manually how the stack pointer is modified. See Change stack pointer command

Problem: Attention! Probably erroneous situation

Problem: Decision to convert to instruction/data is made by IDA

Problem: The decision made by IDA was wrong and rolled back

FLIRT collision: the function with the given name already exists

FLIRT match indecision: reference to function expected

Last updated

Was this helpful?