LogoLogo
IDA 9.0
IDA 9.0
  • Welcome to Hex-Rays docs
    • What's new?
  • Getting Started
    • Install IDA
    • Licensing
    • Basic Usage
    • What's next?
  • User Guide
    • User Interface
      • Menu Bar
        • File
          • Load file
          • Script File
          • Script command
          • Produce output files
          • Invoke OS Shell
          • Take database snapshot
          • Save database
          • Save database as...
          • Abort IDA
          • Exit IDA
        • Edit
          • Export data
          • Undo an action
          • Redo an action
          • Clear undo history
          • Disable undo
          • Convert to instruction
          • Convert to data
          • Convert to string literal
          • Convert to array
          • Undefine a byte
          • Give Name to the Location
          • Operand types
            • Offset
            • Number
            • Perform en masse operation
            • Convert operand to character
            • Convert operand to segment
            • Complex Offset Expression
            • Convert operand to symbolic constant (enum)
            • Convert operand to stack variable
            • Change operand sign
            • Bitwise negate operand
            • User-defined operand
            • Set operand type
          • Comments
          • Functions
          • Structs
          • Segments
          • Patch core
          • Other
            • Rename Any Address
          • Plugins
        • Jump
          • Center current line in window
          • Problems List
        • Search
          • REGULAR EXPRESSION SYNTAX SUMMARY
        • View
          • Open subviews
          • Graphs
          • Message Window
          • Arrows window
          • Database snapshot manager
          • Highlighting identifiers
          • Browser options
          • Lumina options
          • Assembler level and C level types
          • C++ type details
          • Bookmarks window
          • Calculator
          • View segment registers
          • View Internal Flags
          • Hide
          • Unhide
          • Del hidden range
          • Hide all items
          • Unhide all items
          • Setup hidden items
        • Debugger
          • Debugger window
          • Process Control
            • Start process
            • Process options
            • Pause process
            • Terminate process
            • Step into
            • Step over
            • Run to cursor
            • Run until return
            • Attach to process
            • Detach from process
            • Set current ip
            • Show application screen
          • Breakpoints
          • Watches
          • Tracing
          • Source code view
            • Watch view (source level)
          • Process Memory
            • Take memory snapshot
            • Manual memory regions
            • Refresh memory
          • Thread list
          • Module list
          • Stack trace
          • Exceptions
          • Debugger options
          • Switch debugger
        • Lumina
        • Options
          • Low & High Suspicious Operand Limits
        • Windows
          • Rename a stack variable
          • Miscellanous Options
          • Environment variables
          • Reset Hidden Messages
          • Various dialog help messages
        • List of all menu options
      • Desktops
      • Command line
      • How To Use List Viewers in IDA
      • Licenses
        • Apache License for Ghidra
        • Apache License for LLVM
        • Common Public License Version 1.0
        • APPLE PUBLIC SOURCE LICENSE
        • PCRE2 LICENCE
        • GNU Lesser General Public License v2.1 for libiberty
      • Database conversion from idb to i64
    • Disassembler
      • Interactivity
      • Background Analysis
      • Graph view
        • Graphing tutorial
      • Proximity view
      • Navigation
        • Anchor
        • How to Enter a Segment Value
        • How to Enter a Number
        • How to Enter an Identifier
        • How to enter text
        • How to Enter an Address
      • Disassembly Gallery
        • Philips 51XA-G3
        • 6502 and 65C02 Disassembler
        • 6301, 6303, 6800, 6801 and 6803 Disassembler
        • 68040, Amiga
        • 6805 Disassembler
        • 6808 Disassembler
        • 6809 OS9 Flex Disassembler
        • 6809 Disassembler
        • 6811 Disassembler
        • 68HC12 Disassembler
        • 68HC16 Disassembler
        • 68k Amiga Disassembler
        • 68k Mac OS
        • 68k Palm Pilot
        • Unix COFF
        • NEC 78k0 and 78k0s Processor
        • 80196 Processor
        • 8051 Disassembler
        • Analog Devices 218x.
        • Alpha Processor – NT COFF
        • Alpha Processor – Unix ELF
        • Android ARM Executables (.elf)
        • ARC Processor
        • ARM Processor EPOC App
        • ARM Processor EPOC PE File
        • ARM Processor EPOC ROMFile
        • EPOC SIS File Handler
        • ARM Processor iOS (iPhone): Unlock
        • ARM Processor iOS (iPhone): Objective-C metadata
        • ARM Processor iOS (iPhone): Objective-C Instance variables
        • ARM Processor iOS (iPhone): Parameter Identification & Tracking (PIT)
        • ARM Processor iOS (iPhone): Start
        • ARM Processor iOS (iPhone): Switch statements
        • ARM Processor iOS (iPhone): C++ signatures
        • ARM Processor iOS (iPhone): Write
        • ARM Processor: Linux ELF
        • ARM Processor: AOF SDK
        • ARM Processor: Windows CE COFF Format
        • ARM Processor: Windows CE PE Format
        • ATMEL AVR Disassembler
        • C166 Processor
        • C166 Processor with ELF file
        • Rockwell C39
        • Microsoft .NET CLI Disassembler. VisualBasic library
        • CR16
        • Android Dalvik Executables (.dex)
        • Microsoft .NET CLI Disassembler
        • DSP56K
        • Fujitsu FR (.elf)
        • Gameboy
        • H8 300: COFF FILE Format
        • H8 300s: COFF FILE Format
        • H8 500
        • HPPA Risc Processor: HP-UX SOM
        • i51
        • i860
        • Intel i960
        • Intel IA-64 (Itanium)
        • Java Bytecode
        • Angstrem KR 1878
        • Renesas/Hitachi M16C
        • Renesas/Hitachi M32R
        • M740
        • M7700
        • M7900
        • MIPS Processor: Nintendo N64
        • MIPS R5900 Processor : Sony bin
        • MIPS Processor: Sony ELF
        • MIPS Processor: Sony PSX
        • MIPS Processor: Sony PSX
        • MIPS Processor: Unix COFF File Format
        • MIPS Processor: Unix ELF File Format
        • MIPS Processor: Windows CE PE File Format
        • MIPS Processor: Windows CE PE2 File Format
        • Panasonic MN102
        • Atmel OAK DSP
        • 80×86 Architecture: DOS Extender
        • 80×86 Architecture: Watcom Runtime
        • 80×86 Architecture: Geos APP
        • 80×86 Architecture: Geos DRV
        • 80×86 Architecture: Geos LIB
        • 80×86 Architecture: GNU COFF Format
        • 80×86 Architecture: OS/2 Linear Executable Format
        • 80×86 Architecture: Netware NLM
        • 80×86 Architecture: QNX Executable
        • 80×86 Architecture: Watcom Runtime
        • 80×86 Architecture: Windows OMF
        • 80×86 Architecture: Windows Portable Executable Format
        • 80×86 Architecture: Windows Virtual Device Driver
        • 80×86 Architecture: Windows 16 bits DLL
        • X-Box Disassembler
        • PDP 11: SAV File
        • PIC
        • PIC 12xx
        • Power PC AIF ECOFF file Format
        • Power PC Linux ELF
        • Mac OS PEF File
        • Mac OS X File
        • Windows NT PE File
        • Hitachi SH-1 Processor
        • Hitachi SH-3 Processor: Windows CE COFF format
        • Hitachi SH-3 Processor: Windows CE PE format
        • Hitachi SH-4 Processor: ELF File Format
        • Hitachi SH-4 Processor: Windows CE PE File Format
        • Super Nintendo Entertainement System (SNES)
        • SPARC Solaris COFF
        • SPARC Solaris ELF
        • SPARC Sun ELF
        • SPARC Sun ELF SO
        • ST 20C4
        • ST 7
        • ST 9
        • Toshiba TLCS 900
        • TMS 320c2 COFF
        • TMS 320c5
        • TMS 320c54
        • TMS 320c6 COFF File Format
        • TRICORE
        • SunPlus unSP
        • NEC V850
        • Z180 COFF File Format
        • Z380 COFF File Format
        • Z8
        • Z80
      • Supported processors
      • Supported file formats
        • Windmp file loader
      • Bitfields
        • Bit Fields tutorial
      • Structures tutorial
      • Union tutorial
      • Variable length structures tutorial
      • Data types, operands and constructs
      • Packed executables
    • Decompiler
      • Prerequisites
      • Quick primer
      • Exception handler
      • Introduction to Decompilation vs. Disassembly
        • Comparisons of ARM disassembly and decompilation
        • Comparisons of PowerPC disassembly and decompilation
        • Comparisons of MIPS disassembly and decompilation
        • Hex-Rays v7.4 vs. v7.3 Decompiler Comparison Page
        • Hex-Rays v7.3 vs. v7.2 Decompiler Comparison Page
        • Hex-Rays v7.2 vs. v7.1 Decompiler Comparison Page
      • Interactive operation
        • Rename
        • Set type
        • Set number representation
        • Edit indented comment
        • Edit block comment
        • Hide/unhide C statements
        • Split/unsplit expression
        • Force call type
        • Set call type
        • Add/del variadic arguments
        • Del function argument
        • Add/delete function return type
        • Jump to cross reference
        • Jump to cross reference globally
        • Generate HTML file
        • Mark/unmark as decompiled
        • Copy to assembly
        • Show/hide casts
        • Reset pointer type
        • Convert to struct *
        • Create new struct type
        • Split variable
        • Select union field
        • Jump to paired paren
        • Collapse/uncollapse item
        • Map to another variable
      • Batch operation
      • Configuration
      • Third party plugins
      • Floating point support
      • Support for intrinsic functions
      • Overlapped variables
      • gooMBA
      • Failures and troubleshooting
      • FAQ
      • Limitations
      • Tips and tricks
    • Debugger
      • Instant debugger
      • Remote debugging
        • Remote iOS Debugger
        • Android debugger
        • Dalvik debugger
        • Remote GDB Debugger
          • Remote GDB Debugger options
          • Debugging with gdbserver
          • Debugging with VMWare
          • Debugging with OpenOCD
          • Debugging with QEMU
          • External programs and GDB Debugger
          • Debugging code snippets with QEMU
        • PIN debugger
          • Building the PIN tool
          • Connecting a remote PIN tool instance from IDA
          • PIN support for MacOSX
        • Replayer debugger
        • Bochs debugger
          • Bochs Disk Image operation mode
          • Bochs IDB operation mode
          • Bochs PE operation mode
          • Bochs debugger FAQ
      • Local debugging
        • WinDbg Debugger
        • Linux debugger
        • Intel/ARM macOS debugger
      • Debugger tutorials
        • Debugging Dalvik Programs
        • IDA Win32 Local Debugging
        • IDA Linux Local Debugging
        • IDA Linux to Win64 Debugging
        • IDA Win32 to Linux Debugging
        • Debugging Mac OSX Applications with IDA Pro
        • Debugging iOS Applications using CoreDevice (iOS 17 and up)
        • Debugging iOS Applications with IDA Pro
        • Debugging Linux Applications locally
        • Debugging Linux/Windows Applications with PIN Tracer module
        • Debugging Windows Applications with IDA Bochs Plugin
        • Debugging Windows Applications with IDA WinDbg Plugin
        • Using the Bochs debugger plugin in Linux
        • Debugging Windows Kernel with VMWare and IDA WinDbg Plugin
        • Debugging Linux Kernel under VMWare using IDA GDB debugger
        • Windows Debugger Hub
        • Linux Debugger
        • Debugging a Windows executable locally and remotely
        • Debugging the XNU Kernel with IDA Pro
        • Remote debugging with IDA Pro
        • IDA Scriptable Debugger: overview
          • IDA Scriptable Debugger: scriptability
        • Debugging code snippets with QEMU debugger (a la IDA Bochs debugger)
        • Trace Replayer and managing traces
        • Using IDA Pro's tracing features
        • Working with PIN
        • Appcall
    • Creating Signatures
      • FLIRT
        • IDA F.L.I.R.T. Technology: In-Depth
        • Generate FLIRT signature file
        • Supported Compilers
          • Turbo Pascal
          • Delphi
      • Makesig
    • Creating Type Libraries
      • IDAClang
      • TILIB
    • Configuration
      • Configuration files
      • Command line switches
      • Keyboard macros
      • UI/Fonts/Themes
      • Shortcuts
      • Customizing IDA
      • CSS-based styling
    • Teams
      • IDA Teams Licenses
      • Diffing and Merging Databases with IDA Teams
      • Teams lc command reference manual
      • hv command reference manual
      • Hex-Rays Vault’s visual client user manual
    • Lumina
      • lc command reference manual
    • Plugins
      • Open Plugin Architecture
      • Plugin options
      • Plugins Shipped with IDA
        • Swift plugin
        • Golang plugin
        • Rust plugin
        • picture_search
        • Objective-C Analysis Plugin
        • DYLD Shared Cache Utils
        • Borland RTTI descriptors plugin
        • DWARF plugin
        • Patfind plugin
        • IDA Feeds
          • FLIRT Signature Bundle
      • Plugin Contest
      • How to write your own plugin?
    • Helper Tools
    • idalib
  • Developer Guide
    • C++ SDK
      • Getting Started with C++ SDK
      • C++ SDK Reference
      • Using the Decompiler SDK: Decompiler plugin
      • C++ SDK examples
      • How to create a plugin in C++?
      • C++ SDK Porting Guide from IDA 8.x to 9.0
    • IDAPython
      • Getting started with IDAPython
      • IDAPython API Reference
      • IDAPython examples
      • How to create a plugin in IDAPython?
      • IDAPython Porting Guide from IDA 8.x to 9.0
    • IDC
      • Core concepts
        • Expressions
        • Statements
        • Functions
        • Variables
        • Constants
        • Exceptions
        • Classes
        • Predefined symbols
        • loader_input_t class
        • Slices
      • IDC API Reference
        • Index of debugger related IDC functions
        • Alphabetical list of IDC functions
          • is_member_id
          • load_type
          • get_member_by_idx
          • get_ordinal_limit
          • set_selector
          • enable_tracing
          • get_prev_fixup_ea
          • del_segm
          • get_bmask_cmt
          • end_type_updating
          • Find
          • toggle_bnot
          • patch_byte
          • get_module_info
          • set_member_name
          • create_float
          • del_struc_member
          • read_dbg_memory
          • get_enum_width
          • getn_thread_name
          • del_struc
          • filelength
          • set_manual_insn
          • is_value...() functions
          • get_ip_val
          • del_extra_cmt
          • create_insn
          • op_offset_high16
          • get_cmt
          • expand_struc
          • get_idb_path
          • set_frame_size
          • get_file_ext
          • has_value
          • readshort
          • sanitize_file_name
          • get_member_flag
          • create_struct
          • ARM specific
          • set_enum_member_cmt
          • rename
          • set_ida_state
          • get_member_size
          • msg
          • qbasename
          • get_enum_member_enum
          • auto_mark_range
          • plan_to_apply_idasgn
          • set_named_type
          • op_offset
          • rename_entry
          • strlen
          • get_extra_cmt
          • get_enum_flag
          • fgetc
          • op_stkvar
          • get_last_index
          • get_field_ea
          • get_struc_id
          • select_thread
          • create_array
          • get_struc_cmt
          • set_array_string
          • set_func_attr
          • set_storage_type
          • get_struc_size
          • demangle_name
          • get_next_fixup_ea
          • get_next_bmask
          • delattr
          • gen_simple_call_chart
          • patch_qword
          • get_enum_name
          • loader_input_t.getc
          • get_debugger_event_cond
          • read_dbg_qword
          • define_local_var
          • generate_disasm_line
          • add_idc_hotkey
          • tolower
          • del_selector
          • set_debugger_event_cond
          • get_imagebase
          • gen_file
          • get_entry
          • find_custom_data_format
          • get_debug_name_ea
          • add_default_til
          • set_func_end
          • exit_process
          • delete_array
          • xtol
          • get_exception_code
          • detach_process
          • set_enum_cmt
          • get_wide_word
          • put_bookmark
          • is_loaded
          • add_enum_member
          • parse_decls
          • readstr
          • get_entry_qty
          • ord
          • sprintf
          • get_root_filename
          • get_enum_member_cmt
          • create_word
          • set_func_flags
          • loader_input_t.tell
          • create_align
          • read_dbg_dword
          • next_addr
          • get_bytes
          • batch
          • start_process
          • process_config_line
          • del_user_info
          • qmakefile
          • set_struc_name
          • print_decls
          • create_custom_data
          • del_enum_member
          • format_cdata
          • get_fixup_target_sel
          • get_item_size
          • loader_input_t.gets
          • get_last_bmask
          • Step Tracing Options
          • selector_by_name
          • get_enum_cmt
          • next_not_tail
          • prev_head
          • set_color
          • set_numbered_type
          • get_member_name
          • auto_wait
          • get_enum_member_bmask
          • fseek
          • get_segm_start
          • attach_process
          • Trace file functions
          • get_enum_member_value
          • op_stroff
          • get_next_offset
          • set_processor_type
          • get_bookmark_desc
          • create_data
          • lastattr
          • get_operand_value
          • collect_stack_trace
          • toupper
          • get_fixup_target_dis
          • set_cmt
          • add_entry
          • set_segm_addressing
          • qmake_full_path
          • get_source_linnum
          • fputc
          • resume_thread
          • get_func_attr
          • get_first_enum_member
          • add_sourcefile
          • get_first_bmask
          • read_selection_start
          • hasattr
          • get_member_cmt
          • gen_flow_graph
          • get_array_element
          • get_tinfo
          • loader_input_t
          • tinfo_errstr
          • TRUNC
          • add_segm_ex
          • Local types information and manipulation helpers
          • set_source_linnum
          • get_next_enum_member
          • loader_input_t.readbytes
          • set_array_params
          • jumpto
          • get_bookmark
          • set_enum_bf
          • prev_not_tail
          • toggle_sign
          • loader_input_t.size
          • Trace events functions
          • get_func_flags
          • get_gotea
          • set_segm_attr
          • get_item_head
          • set_default_sreg_value
          • print_insn_mnem
          • set_member_cmt
          • get_ordinal_qty
          • set_target_assembler
          • add_user_stkpnt
          • set_local_type
          • Hidden ranges
          • del_items
          • compile_idc_text
          • Dalvik debugger extension functions
          • byte_value
          • create_dword
          • is_code
          • del_func
          • get_enum
          • make_array
          • rotate_left
          • recalc_spd
          • search_path
          • CommonBits
          • get_processor_name
          • set_func_cmt
          • get_prev_bmask
          • Hashes
          • split_sreg_range
          • process_ui_action
          • set_fixup
          • get_fixup_target_type
          • create_oword
          • get_flags
          • get_func_name
          • create_strlit
          • add_struc
          • atol
          • load_debugger
          • mkdir
          • sizeof
          • get_enum_member_by_name
          • save_database
          • guess_type
          • get_segm_name
          • print_operand
          • qisabspath
          • get_member_qty
          • set_struc_cmt
          • get_fixup_target_flags
          • idadir
          • object.retrieve
          • add_auto_stkpnt
          • get_numbered_type_name
          • get_enum_member_name
          • get_next_index
          • prev_addr
          • get_name_ea
          • get_sp_delta
          • set_bmask_cmt
          • readlong
          • set_segm_name
          • get_prev_offset
          • set_segm_alignment
          • get_strlit_contents
          • forget_exception
          • get_item_end
          • add_func
          • get_name
          • Asks
          • get_spd
          • Debugger: control
          • get_wide_byte
          • plan_and_wait
          • set_enum_flag
          • RunPythonStatement
          • del_sourcefile
          • find_selector
          • get_frame_regs_size
          • op_num
          • define_exception
          • create_double
          • create_byte
          • read_selection_end
          • OpTypes
          • op_plain_offset
          • move_segm
          • get_member_id
          • set_segm_combination
          • get_current_thread
          • trim
          • Debugger: options
          • getn_thread
          • get_frame_id
          • typeinfo.print
          • to_ea
          • rebase_program
          • add_struc_member
          • get_exception_qty
          • get_first_index
          • import_type
          • set_segm_type
          • find_custom_data_type
          • get_next_seg
          • find_func_end
          • get_last_enum_member
          • getattr
          • get_frame_size
          • get_screen_ea
          • loader_input_t.read
          • set_reg_value
          • Debugger: modules
          • create_pack_real
          • writestr
          • exec_idc
          • get_enum_size
          • set_enum_name
          • create_tbyte
          • sel2para
          • atoa
          • loader_input_t.close
          • add_enum
          • ltoa
          • substr
          • del_idc_hotkey
          • Breakpoint handling functions
          • loader_input_t.seek
          • cleanup_appcall
          • object.store
          • get_type
          • qexit
          • get_debug_name
          • get_array_id
          • Can't Open File
          • suspend_process
          • process_config_directive
          • get_entry_name
          • get_last_member
          • get_struc_name
          • clear_selection
          • fclose
          • firstattr
          • create_yword
          • dbg_appcall
          • get_qword
          • patch_dword
          • begin_type_updating
          • read_dbg_byte
          • get_fpnum
          • qsleep
          • get_first_member
          • get_nsec_stamp
          • del_stkpnt
          • eval
          • savefile
          • eval_python
          • Xrefs
          • strstr
          • writeshort
          • get_sreg
          • get_segm_end
          • get_func_off_str
          • set_func_start
          • del_array_element
          • get_full_flags
          • set_exception_flags
          • rename_array
          • get_frame_args_size
          • op_flt
          • get_min_spd_ea
          • apply_type
          • get_prev_index
          • loadfile
          • retrieve_input_file_md5
          • get_wide_dword
          • patch_dbg_byte
          • Functions provided by the WinDbg debugger
          • get_original_byte
          • get_member_strid
          • call_system
          • writelong
          • get_thread_qty
          • nextattr
          • send_dbg_command
          • get_first_seg
          • get_processes
          • patch_word
          • get_manual_insn
          • ftell
          • get_entry_ordinal
          • set_array_long
          • delete_all_segments
          • TO_LONG
          • Function chunk related functions
          • Debugger: events
          • get_prev_func
          • op_seg
          • validate_idb_names
          • fprintf
          • fopen
          • strfill
          • del_fixup
          • get_bmask_name
          • inf_attr
          • is_bf
          • read_dbg_word
          • qdirname
          • get_segm_attr
          • func_contains
          • del_source_linnum
          • get_sourcefile
          • clr_database_flag
          • set_name
          • Refresh Screen
          • op_enum
          • getn_enum
          • get_db_byte
          • setattr
          • get_forced_operand
          • op_bin
          • Functions provided by the replayer debugger
          • prevattr
          • update_extra_cmt
          • get_str_type
          • op_man
          • choose_func
          • set_bmask_name
          • get_curline
          • decode_insn
          • set_segment_bounds
          • set_segm_class
          • write_dbg_memory
          • get_exception_name
          • get_enum_member
          • is_mapped
          • del_enum
          • get_frame_lvar_size
          • get_operand_type
          • set_root_filename
          • compile_idc_file
          • typeinfo.size
          • get_local_tinfo
          • get_fixup_target_off
          • is_union
          • unlink
          • get_segm_by_sel
          • set_enum_width
          • take_memory_snapshot
          • exec_python
          • get_next_func
          • get_member_offset
          • get_func_cmt
          • parse_decl
          • create_qword
          • next_head
          • suspend_thread
          • loader_input_t.getz
          • get_color
          • get_reg_value
          • load_and_run_plugin
          • set_database_flag
          • set_enum_member_name
          • set_member_type
          • get_prev_enum_member
      • IDC examples
        • Analyzing encrypted code
  • Admin Guide
    • Lumina server
    • Teams server
    • License server
      • Hex-Rays License Server Migration Guide
  • Release Notes
    • IDA 9.0
    • IDA 8.4sp2
    • IDA 8.4sp1
    • IDA 8.4
    • IDA 8.3
    • IDA 8.2sp1
    • IDA 8.2
    • IDA 8.1
    • IDA 8.0sp1
    • IDA 8.0
    • IDA 7.7sp1
    • IDA 7.7
    • IDA 7.6sp1
    • IDA 7.6
    • IDA 7.5sp3
    • IDA 7.5sp2
    • IDA 7.5sp1
    • IDA 7.5
    • IDA 7.4sp1
    • IDA 7.4
    • IDA 7.3
      • IDA 7.3 Undo: IDA can do it
    • IDA 7.2
      • IDA 7.2 The Mac Rundown
    • IDA 7.1
      • IDA 7.1 Debugger API 7.1 Porting Guide
    • IDA 7.0sp1
    • IDA 7.0
      • Internationalization (i18n)
      • Automatic discovery of string literals
      • API 7.0 Porting Guide
      • IDAPython backward compatibility
    • IDA 6.95
    • IDA 6.9
    • IDA 6.8
    • IDA 6.7
    • IDA 6.6
    • IDA 6.5
    • IDA 6.4
    • IDA 6.3
    • IDA 6.2
    • IDA 6.1
    • IDA 6.0
    • IDA 5.7
    • IDA 5.6
    • IDA 5.5
      • 5.5 Gallery
      • 5.5 Comparison
    • IDA 5.4
    • IDA 5.3
    • IDA 5.2
    • IDA 5.1
    • IDA 5.0
    • IDA 4.9SP
    • IDA 4.9
    • IDA 4.8
    • IDA 4.7
    • IDA 4.6
    • IDA 4.x
    • IDA 3.x
    • Cumulative bugfix for IDA
  • Archive
    • IDA’s Windbg plugin
    • IDA’s Bochs debugger plugin
    • IDA’s Bochs debugger plugin 2
    • DosWin32
    • Hex-Rays v1.1 vs. v1.0 Decompiler Comparison Page
    • Hex-Rays v1.2 vs. v1.1 Decompiler Comparison Page
    • Hex-Rays v1.3 vs. v1.2 Decompiler Comparison Page
    • Hex-Rays v1.6 vs. v1.5 Decompiler Comparison Page
    • Hex-Rays v1.7 vs. v1.6 Decompiler Comparison Page
    • Costly Greetings – An Adventure In Hostile Code Analysis
    • An Adventure In Hostile Code Analysis: Description
    • An Adventure In Hostile Code Analysis: Disassembly
    • Improved code flow analysis
    • Program Navigation Bar
    • IDA Home Contest
    • Pimp My IDA: vote results
    • Turning off IDA 6.x compatibility in IDAPython
    • Porting guide for IDA 7.4 turning off IDA 6.x API backwards-compatibility by default
    • Porting guide for IDA 7.4 IDAPython and Python 3
    • IDAPython and Python 3
    • Porting guide for changes in IDAPython-on-Python-3 APIs
    • Debugging iOS Applications With IDA
    • IDA Win32 to Win32 Debugging
    • IDA Win32 to Win64 Debugging
    • Legacy license server: Floating Licenses
      • Installing on Linux
      • Installing on Windows
      • Installing on OS X
    • Decompiler Installation
    • Enumerated types tutorial
  • Bug Bounty
Powered by GitBook
LogoLogo

Need Help?

  • FAQs
  • Support

Community

  • Forum
  • Plugins

Resources

  • Blog
  • Download center

© 2025 Copyright Hex-Rays

On this page

Was this helpful?

Export as PDF
  1. Release Notes

IDA 4.8

New Features in version 4.8

Major Features

  • 'instant debugger': the debugger can be launched and a process started without a database. This feature is available locally and remotely and allows the debugger to be attached to any running process in the system. IDA can be used as the default system debugger.

  • Remote 64-bit debugger for MS Windows 64 running on AMD64/EMT64. IDA itself runs in 32-bit mode while the debugger server runs in 64-bit mode to launch and debug 64-bit applications.

  • full type system support for the ARM processor. IDA supports the function calling conventions and comments function parameters in the same way as it does on PC. The ARM module has been significantly improved: see a list of all the ARM specific enhancements below.

  • Wizard-like interface to load new files. IDA assists the user in the initial load process by asking relevant questions about the file. This interface is configurable with XML files.

Processor Modules

  • new processor: Analog Devices ADSP 218x (Professional version)

  • ARM: "no automatic arm-thumb switch" option has been added.

  • ARM: conditional instructions modifying SP are not taken into account while tracing SP.

  • ARM: ADDAL PC,... always stops the execution flow.

  • ARM: EPOC imported function glue code is recognized.

  • ARM: IDA creates ALIGN directives before and after jump tables in the thumb mode.

  • ARM: IDA displays jump table comments for all types of jump tables.

  • ARM: IDA knows about function calling conventions.

  • ARM: IDA propagates the T bit for all code xrefs; since there are many ARM/THUMB switches now, superfluous directives to switch the mode are not displayed.

  • ARM: R_ARM_PC13 relocation type is supported.

  • ARM: a function consisting of MOV PC,LR in the thumb mode is recognized as a nullsub.

  • ARM: for jump targets: do not automatically switch to another mode if there is already an instruction disassembled in the current mode.

  • ARM: it is possible to modify the operand type of indirect operands like '=xxx'.

  • ARM: jump table recognition has been improved.

  • ARM: some BL instructions are treated as simple B (not as function calls): if the target destroys the LR in its first basic block.

  • ARM: thumb mode EPOC apps are recognized and analyzed properly.

  • ARM: IDS files for MFC.

  • ARM: Windows CE types are added.

  • ARM: lots of imrpvement in function creation.

  • ARM: new IDS files.

  • ARM: updated flair signatures.

  • IBM PC: "test x, y" operands are reversed if x and y both are registers. For some obscure reason all assemblers reverse them.

  • IBM PC: alternative collapsed output of structures.

  • IBM PC: better detection of the function frame size.

  • IBM PC: emulator knows about functions starting with mov rX, rX

  • IBM PC: for instruction "lea xxx, ds:###" the second operand is automatically converted to an offset if it makes sense.

  • IBM PC: imul instruction always has signed immediate operand because unsigned negative operands are compiled incorrectly.

  • IBM PC: int xx instructions generate xref to low addresses only in the binary files.

  • IBM PC: support for TASM ideal mode has been added.

  • IBM PC: parameters of linux system calls for pc are commented (there are some problems with some syscalls, like socket())

  • IBM PC: better handling of the _alloca_probe() function: ida does not blindly delete the stack frame of functions using the __alloca_probe function - this might lead to more unreferenced variables.

  • IBM PC: __chkstk is recognized as a function changing the stack (as __alloca_probe).

  • MC68K: immediate instruction operands are represented as unsigned numbers by default (with some exceptions)

  • 68K: better treatment of pea/lea instructions (please reanalyze existing databases!)

  • PPC: added support for subi/subic instructions based on TOC/segment registers

  • 80196: changing to processor type to 80186NP makes the segment registers available immediately (no need to reload the database)

  • DSP56K: many nops in a row are not disassembled automatically

  • H8/500: considerably improved the analysis, fixed bugs

  • better handling of segment registers for ARM, M7700

File Formats

  • Wizard-like interface to load new files into the database.

  • COFF: Windows AMD64 files are supported. Relocation information is not handled since documentation is not available.

  • COFF: added support for Window64 object file relocations. Since there is no documentation on the topic, some relocation might be incorrectly handled

  • COFF: improved file format detection for zero filled files

  • COFF: labels with '$' have less priority than normal names

  • COFF: added support for ARM THUMB files (relocations are not supported yet)

  • ELF loader allows to load files for unknown machine types

  • ELF: AMD64 .got relocation types are handled (.plt is not handled yet)

  • PE: crippled files with unusual information about the PE header can be loaded into the database with the file header./LI>

  • PE: in the manual mode IDA rounds up the exact segment size in the header to the file alignment.

  • PE: new option: create flat group. The segment registers will use flat group instead of the real segment names.

  • The default value is specified with the PE_CREATE_FLAT_GROUP parameter in the IDA.CFG file.

  • PE: files with partially corrupt relocation table can be loaded into the database.

  • PE: ida can load truncated import tables.

  • Palm Pilot program analysis is improved (recognize pea/rts sequence, some pilot debug info, handle pea in a special way to create more code)

  • Palm file loader uses 68K universal emulator by default.

  • binary files: by default ida creates 32-bit segments if the input file is bigger than 64K

  • file loaders do not exit() to the operating system in the case of problems with the input file but rather stop the loading process and return to ida

  • the analysis of MS DOS 32-bit extender files has been improved

Kernel Enhancements

  • dump database to idc': local names are saved to the IDC file

  • added support for __declspec(align(#)) keyword in the type system.

  • bitwise negation works for structure members.

  • checkarg knows about nested structures (yh)

  • coagulation algorithm has been improved.

  • flirt: tiny (less than 8 bytes) unnamed library functions are ignored

  • frame pointer delta has been introduced. This delta is useful for functions with the frame pointer pointing to the middle of the stack frame. Usually the frame pointer points either to the top or to the bottom of the frame. However some new compilers set the frame pointer midway. IDA knows about IBM PC function prologues with such frames and automatically determines the frame pointer delta. For other compilers/processors, the user can specify the detla value in the 'edit function' dialog box. + ida uses new memory allocation scheme; the old memory allocation algorithm was too conservative in the memory use.

  • if the structure offset is equal to the structure size, then it is displayed as "size struct_name".

  • it is possible to include local names in the output map file.

  • new environment variable: IDAUSR. This variable specifies the directory with the user-specific settings.

  • speed: ida tries to create function tails only if there is a reference from a function to a non-function.

  • structure variables can be displayed in the terse one-line form if the target assembler supports this representation

  • new output file type: assembly include file.

  • added conditional expressions to the 'idsnames' file til selection. Now IDA loads appropriate ntdkk file depending on the input file bitness.

  • the default offset type depends on the current item size (before only the current segment bitness was used to determine it).

  • type system: added support for __declspec(align(#)) and __unaligned keywords.

  • FLAIR utilities are updated to support AMD64 files; Visual C++ v8.0 signature files are added.

  • TIL files for AMD64 are added; tilib is improved to handle constructs in the new header files.

  • combined vc6win.til and vc6winr.til - vc6winr.til does not exist anymore.

  • the use the -p switch is permitted for old databases.

  • new analysis option: create data offsets when possible. This option leads to more aggressive offset creation which improves the disassembly in most cases.

  • IDA does not comment function call parameters referencing to strings because such comments make the string invisible at the call site

  • __imp_ prefix is ignored in the type libraries.

  • pointers to functions are supported in the parameter propagation; trying to apply a data type to an instruction generates an error message.

  • when creating a thunk function, IDA copies the target prototype to the thunk.

  • in the type libraries, _name@## is the same as 'name' (visual c++ uses both names to denote the same function)

  • more aggressive parameter type propagation.

  • better algorithm to create data arrays.

SDK and IDC

  • IDC: added MakeNameEx() function to have full control on renaming program addresses.

  • SDK,IDC: added functions to manipulate XML values in the internal XML tree.

  • SDK: IDC functions can be called without a database. Built-in functions have a special flag EXTFUN_BASE telling that they must be called with an open database.

  • SDK: SetFileExt, FileExt, hasExt functions are renamed as set_file_ext, make_file_ext, get_file_ext. Additional parameters to check buffer overflows are added.

  • SDK: added a possibility to tell 'this is definitely not a thunk function' in the ph.is_jump_func notification for the processor modules; this leads to the slight API change which should not pose any problems with the existing modules.

  • SDK: added more segment alignment codes.

  • SDK: added netnode::end() and netnode::prev() functions.

  • SDK: additional parameter for parse_type() - the name of the declared variable.

  • SDK: bit masks are supported by get_name_value().

  • SDK: find_error(), find_notype(), tag_skipcode() functions are added.

  • SDK: functions dealing with the signness and bitwise negation are revised; now the bitwise negation has a bit in the flags which allows to use it in the structure and enum definitions.

  • SDK: gen_idc_file() is removed; use gen_file() instead.

  • SDK: introduced 'stack variable scaling factor'. Used for processors which implicitly scale stack variable references, e.g. tms320c55.

  • SDK: introduced the notion of 'ephemeral' segments: debugger segments which are not loader segments. The kernel does not analyze ephemeral segments.

  • SDK: introduced the notion of a 'loader' segment. All segments created by loaders have this attribute.

  • SDK: is_32bit_func() is replaced by get_func_bitness().

  • SDK: leading_zero_important() function has been added.

  • SDK: only debugger segments can be created when the debugger is active. you can use change_segment_status() to convert debugger segments to regular segments afterwards.

  • SDK: ph.kernel_config_loaded callback has been added - for plugins who want to set their own config settings

  • SDK: removed the ph.align_size() callback from the type system callbacks.

  • SDK: shortened some field names in the debugger related structures (thread_id -> tid, etc).

  • SDK: the string list is available to plugins.

  • SDK: new function set_sreg_at_next_code(); ph.setsgr parameters are changed.

  • SDK: introduced AS2_COLONSUF for assemblers with :xx suffixes in the address expressions.

  • SDK: renamed 'analyse' -> 'analyze' in all function names.

  • SDK: added auto_queue_empty callback.

  • SDK: choose_ioport_device() has no default parameters (so we have a compilation error instead of wrong runtime behaviour).

  • SDK: get_member_ti() accepts NULL as the buffer.

  • SDK: interface to the file loader has been changed. Instead of FILE *, now we use linput_t * (see functions in diskio.hpp). linput_t allows to work with local and remote files.

  • SDK: modified the interface of many functions to avoid buffer overflow vulnerability problems.

  • SDK: new function sanitize_file_name()

  • SDK: renamed cmangle_name() -> decorate_name()

  • SDK: splitSRarea() has been removed. Use splitSRarea1()

  • SDK: added a comment about the necessity of using the invalidate_... functions from the debugger notification callbacks.

  • SDK: added func_t * to the display_flow_graph()

  • SDK: added qisdir() function.

  • SDK: added qvector and qstring template classes to IDA API.

  • SDK: method to obtain the debugger description has been changed: now the init() function of a debugger plugin must fill the 'dbg' global variable if it wants to stay in the memory; the run() method is not used for the debuggers anymore

User Interface\

  • new command: take memory snapshot.

  • new command: 'generate include file'. 'generate assembler file' does not generate the type declarations anymore.

  • new commands: find error operand and find all error operands. these commands look for operands in red; 'search for immediate' has new mode: look for untyped immediate values.

  • 'disable addresses' checkbox in the 'edit segment' dialog is taken into account even if 'move adjacent segments' is on.

  • added a warning message telling that IDA does not handle relocation information of Mach-O files (in other words, external references in Mach-O object files are not resolved).

  • added checkbox to modify 'loader segment' attribute.

  • added separate menus to run and attach to processes with no existing database (local & remote).

  • arrows to/from locations with huge number of xrefs are displayed fast.

  • faster display of data items (we do not analyze them repeatedly anymore).

  • graphing commands are available in the text version; the GRAPH_VISUALIZER parameter is moved from idagui.cfg to ida.cfg.

  • gui: added an option to confirm the 'undefine' command only if there is a selected area.

  • gui: command line switches are used only for the first database.

  • hidden areas have short comment with the current address by default, words "[PRESS PRESS + TO UNCOLLAPSE]" are not added to the comment.

  • if ida is launched with the file name in the command line and the user decided not to load it, then ida quits immediately.

  • mark location: the name of the marked location is proposed as the default mark description. up to 1024 locations can be remembered.

  • the notepad now uses the same font as the disassembly views.

  • the strings window is available in the text version.

  • text: multiple selections are supported in various lists.

  • text: the text version uses the system clipboard under MS Windows.

  • tv: better handling of the keyboard input under NT; fixed a bug with macro_ready; window resizing (YH)

  • tvlinux: xterm-scokey supports Shift-PgUp/Shift-PgDwn key combinations.

  • ui: eventually create 64-bit words by pressing D if the input file contained 64-bit segments.

  • ui: increased the limit on the number of marked locations to 1024 (see the next Changelist!)

  • ui: it is possible to edit the type of data items; the item must have a name in order to have a type.

  • ui: remembers the last settings used in the 'make array' command.

  • WINDIR parameter is back in the gui version.

  • 'Jump to new hex window' command added in disassembly view popup menu for addresses and operand values

  • 'log breakpoint instructions' controls all breakpoint instructions, not only the breakpoints not set by the debugger.

  • CONFIRM_SETFUNCEND_COMMAND config file parameter makes IDA to ask for a confirmation of the 'set functon end' command.

  • library module sizes in the library display are shown in hex with the leading zeroes - makes it possible to sort by size.

  • txt: multi-column lists with wide last column (like list of strings) can be scrolled left to see the whole strings.

  • txt: text version always asks for a confirmation of 'undefine' command.

  • ui: Shift-F12 opens the strings window in the text version (the same hotkey as in the gui version).

  • ui: the default button for the 'undefine' command confirmation dialog box is 'no'

Debugger

  • debugger: -r switch to run IDA and debugger without a database.

  • debugger: handle int3 SEH exceptions.

  • debugger was not active if the PE subsystem was not Windows. Now unknown subsystems can be debugged too.

  • debugger knows about fs:xxx references (ida api has changed!); the debugger reference view has been improved (text mode)

  • debugger segments are created in the collapsed form.

  • debugger: 'Library unloaded' events display the full path to the unloaded DLL if available (exactly like 'Library loaded' events).

  • debugger: IDA automatically detaches from a previously attached process if the user closes the database.

  • debugger: network errors are handled properly and do not lead to ida crashes.

  • debugger: the debugger server checks the interface version number upon connection to ida interface.

  • debugger: changed the default background color.

  • debugger: added a button to reload the exceptions table from the exceptions.cfg file.

  • debugger: exception handling is improved, added exceptions.cfg: the exception handling information for new databases; the exception info originates from this file and is passed to the debugger module.

  • ida can be used as the system just-in time debugger in windows.

  • it is possible to delete problems directly from the 'choose problem' modal dialox box.

  • text debugger: 'set current ip' and 'show application screen' commands have been added.

  • text debugger: added possibility to save/restore the application screen so that ida and the debugger application can share the same screen (YH).

  • text debugger: display the current operand value/address

Bugfixes

  • 'dump to database to idc' was producing incorrect Function_###() functions.

  • 'reload input file' of a database with the resources section of a PE file would not reload the resources section.

  • 'search for void' was not stopping at the correct operand in the text version.

  • 16 and 8 bit offset expressions are calculated with appropriate arithmetic.

  • 6812: memory mapping of data references was sometimes wrong; other modifications.

  • 68K module was incorrectly tracing SP for some instructions.

  • 8051: addressing to FSR and RAM has been corrected.

  • AIF loader was not loading properly big endian files.

  • AVR uses OOFW_8 instead of OOFW_IMM+dt_byte to represent numbers because dt_byte has 16 bits.

  • AnalyseArea(0, BADADDR) was not working.

  • COFF loader could reject some correct files.

  • Ctrl+V was not working in the notepad.

  • IBM PC movmskps instruction was disassembled incorrectly ; movddup, movsldup, movshdup instructions were unknown; (everything due to intel manuals from 2003); only mm form of pmulhuw was disassembled.

  • IBM PC: sldt/str instruction have 16 bit operands because 32 bit operands are rejected by the existing assemblers. Intel docs say that these instruction may have 32-bit operands.

  • IDA complains about patching relocation bytes only if they really change their values.

  • IDA could crash if a function in the navigation stack was destroyed and the user decided to return to it.

  • IDA could spend huge amount of time refreshing the navigation band when loading some files.

  • IDA was too agressive in function tail creation.

  • IDC: if(...) {} could not be executed.

  • IDC: the definition of function with long names were properly parsed but it was impossible to call them properly.

  • MC68K: IDA was not taking into account that lea xxx(sp),sp instruction modifies the stack pointer.

  • MC68K: pea/lea instructions with offset operands were not creating xrefs; fixed a small typo in processor specific options dialog box.

  • MS DOS overlayed exe files were incorrectly assigned the small memory model.

  • PPC module was incorrectly using general registers instead of floating point registers in some instructions.

  • PPC: IDA was too aggressively creating xrefs to lis/addi pairs.

  • PPC: do not truncate TOC offsets to 16 bits anymore.

  • PPC: lfsx first operand is a floating point register.

  • Palm pilot module was using big endian mode for all processors (and the base == 0 regardless of the user settings).

  • SP was not properly traced for F2MC, MC6816, TMS320C54, TMS320C55.

  • TMS320C3 module could crash on some opcodes.

  • TMS320C54 had several problems: wrong data type of memory operands; (DP<<&)+Smem operands were displayed incorrectly; wrong xref type of macp, macd instructions.

  • TMS320C54: stack variables were not correct because the return address size was not specified for the module.

  • access violation during analysis if the data segment was not loaded (manual load; refuse to load the .data segment).

  • access violation in the following case: start idag with a wrong file name in the command line, press cancel on the file selection dialog and close ida by pressing the 'close' window cross.

  • autoanalysis queue was losing requested addresses in some rare circumstances.

  • collapse the current segment only if the cursor is at the segment start; this is done to avoid segment collapsing when the user presses '-' inadvertently.

  • comhelper plugin was accepting only "_GUID" as the structure name.

  • compiling an idc file from a running idc script could pose problems.

  • debugger register views were not wide enough.

  • debugger: IDA was sometimes returning wrong paths for loaded DLLs - we now try two different technics to determine the full DLL path, and finally return the export name from the DLL in case of failure.

  • debugger: in some cases it was impossible to manually detach/terminate a process.

  • debugger: attaching to a remote process several times might cause problems.

  • debugger: modifying a register value inside an IDC condition was not working properly for multi-threaded applications.

  • debugger: stepping over "repne jmp short label" would lead to running the application.

  • debugger: the EFLAGS register was not properly updated after the user manually modified a CPU flag.

  • debugger: when switching the main registers window from MDI to desktop/on top, some controls were disappearing.

  • del_cref() might delete a data, not only instruction if there were no references to the target address.

  • displaying hints to collapsed hidden areas could hang ida for long time.

  • double clicking in the list of found items would change the position in the disassembly view but would not switch to it, confusing the user.

  • en masse operations with the value range would not affect non-void operands.

  • function addresss iterator might return a wrong address for some special cases (for functions with several tails and a condition which is not satisfied for some for them). In particular, the list of xrefs to stack variables might be wrong if the function had several tails without any stack variables in them.

  • guess_type() could crash if the address of a pointer referencing to itself was passed.

  • hopefully the problem with persistent 'please wait' box is fixed.

  • ida could loop infinitely if a function tail would call itself and could not be converted to a function.

  • if IDA has been minimized, chaning the desktop color would crash IDA.

  • in PE files IDA thought there was a relocation attached to the first address of a segment with relocations. This might have lead to the treatment of entry points at the segment starts as non-function exports but as data exports.

  • it was impossible to cancel an offset operand by pressing 'o' in some cases.

  • it was impossible to detach from a process in the suspended state (process would crash).

  • it was impossible to disassemble files with the 'reg' extension.

  • it was impossible to load resources of LX files.

  • it was impossible to select one line address range in the text version.

  • it was impossible to set a software breakpoint in a readonly page.

  • it was impossible to specify a function prototype to insert/shift arguments + the type of function arguments in the stack frame is adjusted when modifying the function prototype.

  • it was impossible to use any keystrokes in the cpu register window is the focus was on a register value field. Now it reacts only to hex values and backspace.

  • item types are displayed regardless of how the demangled names are displayed. before they were not displayed if demangled names were displayed in the listing as names (not as comments).

  • linux debugger was not closing file handlers before launching the debugged application.

  • linux version was creating ~/.idapro with wrong permissions.

  • linux: information about hidden messages is saved in the user directory, not in ida directory.

  • linux_stub file was missing which made impossible to debug linux programs from ms windows.

  • locret_ labels are generated correctly for wide byte processors with high byte first.

  • message boxes could not be displayed recursively.

  • output map files were wrong after rebasing a PE file.

  • pelf was not aware of module names separated by '\n'

  • qbasename() does not crash on NULL (it seems that it was designed not to crash but there was a bug).

  • rebasing the database would lead to the corruption of the function list.

  • references to stack variables at offset 0 from esp were not listed in the xrefs window.

  • removed minor memory leaks (occuring in some cases for IDC expressions returning a string).

  • renaming a variable with a dummy name to which there was a reference from a manual operand would leave the manual operand unchanged.

  • some key combination in the text version were not available.

  • some object files from libraries could not be loaded.

  • structure definitions were not padded correctly at the end.

  • structure pathes were one byte too long in the case of normal members (not really important); added a comment about structure pathes in nalt.hpp.

  • structure sizes were not properly padded.

  • temporary input file from an archive was not deleted at the end.

  • text mode debugger would have a garbage character in the line prefixes of continuation lines.

  • text version was not handling properly database rebasings.

  • text version: displaying a wait box does not change the cursor position in the input line.

  • the 'Flow chart' command was broken for a selected code area.

  • the 'IDC scripts' toolbar was disappearing when loading scripts and was not restored properly.

  • the 'Lock highlight' button was not properly refreshed.

  • the first operand of the 68K moveq instruction should be signed extended to 32-bit.

  • the strings window was empty at the file loading time if a hex view was open.

  • tv (text version): it was not possible to use the clipboard in the notepad.

  • wide byte data array might be displayed incorrectly.

  • windows gcc library was wrong in the sdk.

  • wrong "variable %s not found" message could appear after running an idc script.

  • wrong ARM-THUMB switching after some BX instructions.

  • z180 configuration file had wrong definitions.

  • "reset hidden messages" was not resetting the hidden welcome box.

  • ARM could make the T register value 2 or even 3

  • H8/500 rtd instruction was disassembled incorrectly.

  • a memory leak in the lexical analyzer is fixed.

  • if the user zooms in on the navigation band and clicks on the left arrow and holds the left mouse button to scroll, and moves the mouse cursor to the left outside of the navigation band window (while holding the button), the band starts scrolling to the right instead of to the left.

  • in some cases IDA would not undecorate the function name for the 'set type' command.

  • trying to disassemble a file in the root directory undef linux would crash IDA.

  • when loading .h files IDA was not decorating the function names.

  • 'Clear trace' and breakpoints menu items in popup menus of the Trace, Entry points, Functions & Names windows could be duplicated.

  • IDA could crash if a stack view was open, then the corresponding function was deleted and the user tried to create a new stack varaible for the dead function.

  • IDA could hang trying to guess function types for HPPA.

  • IDA could undefine items in the imports segment trying to apply type information; now items in the imports segment are not undefined.

  • Jump commands were not available in popup menu for operands pointing to an undefined value.

  • M32R displacement operands were truncated during display; addi and other instruction operands are signed by default.

  • SDK: debugger: calling run_requests() from a debug event handler was processing waiting step requests too slowly (in fact during idle time).

  • adding/deleting tils always refreshs the disassembly view.

  • fixed a memory leak in the name handling.

  • fixed a memory leak with til files.

  • h8/500: clr.w @-sp was not modifying the stack pointer; slightly changed the output of fucntion headers (always output far/near keyword).

  • hint for the "create flat group" checkbox of the 'load file' dialog box was incorrect in the gui version.

  • it was not possible to jump to a location if the cursor was just behind the end of the line on the screen.

  • the xrefs list would not be immediately refreshed after changing the xref parameters using the Options menu.

  • there was a GDI resource leak in the colors dialog box.

  • txt: open the strings window without closing it would make it empty.

  • while deleting debugger segments, IDA could delete the first non-zero flag of the next segment.

Last updated 9 months ago

Was this helpful?