mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-01-10 06:27:59 -05:00
GP-0 - ChangeHistory.md for 11.4
This commit is contained in:
@@ -1,3 +1,186 @@
|
||||
# Ghidra 11.4 Change History (June 2025)
|
||||
|
||||
### New Features
|
||||
* _Basic Infrastructure_. Implemented Dockerized Ghidra. See `docker/README.md` for information about how to build the docker image for Ghidra and how to run the Ghidra container. This feature includes `headless`, `ghidra-server`, `bsim-server`, `bsim`, `pyghidra`, and `gui` entrypoints. (GP-3579)
|
||||
* _Debugger_. Added support for Meta's drgn debugger, undertaken as a test case to generate new Debugger documentation. (GP-326)
|
||||
* _Debugger_. Added time overview to the Dynamic Listing. (GP-870)
|
||||
* _Debugger_. Implemented remote options for dbgeng targets. (GP-4732)
|
||||
* _Debugger_. Added event/exception handling for the dbgeng. (GP-4786)
|
||||
* _Debugger_. Added support for `rr` via gdb. (GP-5452, Issue #3133)
|
||||
* _Debugger:Agents_. Provided additional `catch` methods for gdb. (GP-5466)
|
||||
* _Debugger:Listing_. Support for 32-bit pointers on WoW64 targets is now added. The pointer size is automatically determined by the PE header of the module containing the PC. (GP-616, Issue #4127)
|
||||
* _Debugger:Time_. Added actions to __Debugger__ menu to set the display radix for snapshot keys and time schedules. (GP-5523)
|
||||
* _Importer_. Provided new loader for the `Unix A.out` binary file format. (GP-3182, Issue #4943, #5004)
|
||||
* _Search_. Added new Search-and-Replace feature. This feature make it easy to globally rename many different types of program elements and update related comments. (GP-5310)
|
||||
|
||||
### Improvements
|
||||
* _Accessibility_. Provided accessible names for most dialog components. (GP-4555)
|
||||
* _Analysis_. Added support for Golang closures and generic functions. Added support for applying function signatures to core Golang library functions that were captured and stored in API snapshot files. (GP-2432, Issue #6367)
|
||||
* _Analysis_. Improved speed of constant reference analysis and stack analysis. (GP-4512)
|
||||
* _Analysis_. Improved decompilation of Golang functions by eliminating compiler-generated boilerplate calls to internal garbage-collection functions. (GP-5373, Issue #7484)
|
||||
* _Analysis_. Updated the IMAGE_RUNTIME_FUNCTION_ENTRY structure for x86 programs to change the EndAddress type from an ImageBaseOffset32 to a DWORD. This helps prevent references and code from being incorrectly created at the address after each listed function. (GP-5430)
|
||||
* _Analysis_. Improved how Golang interface methods are modeled. (GP-5455, Issue #7529)
|
||||
* _Analysis_. The __Rust String Analyzer__ no longer clears and converts strings defined in the header to character arrays. (GP-5643, Issue #8019)
|
||||
* _API_. Updated some Decompiler locations to better navigate the Listing. (GP-5453, Issue #7518)
|
||||
* _Basic Infrastructure_. Upgraded 3rd party jars for Bouncy Castle, Apache Commons Compress, Apache Commons Lang3, Apache Commons IO, and JUnit. (GP-5631)
|
||||
* _BSim_. The BSim `support/make-postgres.sh` script now runs on linux_arm_64 and mac_arm_64 platforms. (GP-5282, Issue #7287)
|
||||
* _BSim_. Made BSim installed by default. (GP-5435)
|
||||
* _BSim_. Added checks to `AddProgramToH2BSimDatabaseScript` to prevent the generation of signatures when a program has unsaved changes or no functions. (GP-5562, Issue #7897)
|
||||
* _BSim_. Function names in the BSim Overview Results table now update if they are changed in the program. (GP-5604, Issue #7903)
|
||||
* _BSim_. Upgraded Postgres for BSim to version 15.13 and JDBC driver to 42.7.6. This resolves issues with building PostgreSQL server on newer releases of Linux and compiler toolchains which compile with `-std=c23` option by default. (GP-5680, Issue #8122)
|
||||
* _Byte Viewer_. Byteviewer now centers the cursor on the screen when going to a new offscreen location instead of putting the cursor at the top or bottom. (GP-2148)
|
||||
* _Calling Conventions_. Corrected specifications for parameter and return storage of homogeneous float aggregate types in AARCH64.cspec. Made a number of improvements and corrections to AARCH64_win.cspec. (GP-5192, Issue #8016)
|
||||
* _Data Types_. Improved handling of datatype removal and the impact it can have within Structure and Union components. Previously, affected components were removed, causing unknown loss of information. With this change, components will be preserved with the use of a `BadDataType`, allowing their size and field names to be preserved. Each affected component comment will also be updated to indicate the name of the datatype that was removed. A similar situation for a Structure bit-field will revert its base datatype to an appropriate primitive integer type if it had been based upon a deleted Enum or Typedef. (GP-2949)
|
||||
* _Data Types_. Fixed issue where a datatype node in the datatype tree had a stale tool tip if a datatype it contained was renamed. (GP-5434)
|
||||
* _Data Types_. Improved Structure Editor `unpack` action to include typedef of arrays and structures. This change also corrects unpacking of structures which contain zero-length components. (GP-5527, Issue #7528)
|
||||
* _Debugger_. Fixed issue where, when hovering over struct members, the left-hand side of assignment statements gave incorrect values. (GP-3450, Issue #5337)
|
||||
* _Debugger_. Provided better launcher defaults. (GP-4611)
|
||||
* _Debugger_. Added various Debugger launchers, especially Windows equivalents of existing Linux launchers. Fixed launch logic for targets and arguments with spaces in their paths. (GP-5360, Issue #4977)
|
||||
* _Debugger:Agents_. Integrated timeline for `dbgeng-trace` connector. Navigating in the __Time__ window or using the __Go-To Time__ action now issues the corresponding `!tt` command, and vice versa. (GP-4209)
|
||||
* _Debugger:Agents_. Replaced the experimental pyTTD implementation with direct use of the Microsoft DLLs; enables heap / memory visualization based on LINQ queries in the Memview Display. (GP-5407)
|
||||
* _Debugger:Agents_. Added __Image__ option to __remote gdb__ and __remote lldb__ connectors. (GP-5538, Issue #7955)
|
||||
* _Debugger:Agents_. The connectors will now prompt to automatically remedy some missing setup steps. (GP-5551)
|
||||
* _Debugger:Breakpoints_. Added __Set Breakpoint__ drop-down action. (GP-4546)
|
||||
* _Debugger:dbgeng.dll_. Added a few more options for dbgeng targets. (GP-5270)
|
||||
* _Debugger:drgn_. Added type annotations to drgn. (GP-5511)
|
||||
* _Debugger:Emulator_. Moved display of the current time (schedule) from Threads to the Listing's tabs. (GP-5265)
|
||||
* _Debugger:Listing_. Fixed issue where Dynamic and Static Listings could get out of sync when another component directed navigation (i.e., not directly input-driven). (GP-5548)
|
||||
* _Debugger:LLDB_. Added documentation to bootstrap pip into the Android NDK's lldb. (GP-5533)
|
||||
* _Debugger:Memory_. The primary __Dynamic Listing__ and __Memory Bytes__ windows are now synchronized. (GP-3405)
|
||||
* _Debugger:Stack_. Improved stack unwinder to handle the ARM `bx` instruction. (GP-3771, Issue #5658)
|
||||
* _Debugger:Targets_. Added a __busy__ indicator to each connection and target. (GP-4080)
|
||||
* _Debugger:Time_. Added __PC__, __Function__, and __Module__ columns to the __Time__ window. Changed default visibility and widths. (GP-5264)
|
||||
* _Debugger:Time_. Added a __Time__ column to the __Time__ window. Hid the __Snap__ and __Snapshot__ columns by default. (GP-5499)
|
||||
* _Debugger:Time_. Double-clicking or pressing `Enter` on a row in the __Time Selection__ dialog now confirms the dialog. (GP-5674)
|
||||
* _Decompiler_. The Decompiler simplifies new situations where optimized code packs multiple variables into a single register. (GP-5240, Issue #7277)
|
||||
* _Decompiler_. Updated Decompiler highlighting to ignore syntax tokens. (GP-5414, Issue #7527)
|
||||
* _Decompiler_. Fixed a performance issue seen in the Decompiler when using a large number of custom global highlighters. (GP-5477, Issue #7520)
|
||||
* _Decompiler_. Enabled optimizations for C++ source files when compiling native executables on Windows. (GP-5543, Issue #7953)
|
||||
* _Decompiler_. Updated the Decompiler to now show a warning when executing DockingActions while the Decompiler is busy. (GP-5572, Issue #7893)
|
||||
* _Documentation_. Updated BSim documentation to mention PostgreSQL support on arm64. (GP-5384, Issue #7387, #7388)
|
||||
* _Documentation_. Renamed `InstallationGuide.md` to `GettingStarted.md`. (GP-5598)
|
||||
* _DWARF_. DWARF analyzer now imports symbols found in external debug files. (GP-5570)
|
||||
* _Emulator:JIT_. Fixed an issue with transition to THUMB on indirect branches. (GP-5301)
|
||||
* _Exporter_. The C/C++ exporter now has an option to export declarations for referenced global variables (on by default). (GP-4123, Issue #2635)
|
||||
* _Function Tags_. Added __Make Selection__ action to Function Tags Window. (GP-5354)
|
||||
* _GhidraGo_. Improved GhidraGo CLI to print correct usage upon invalid/missing GhidraURL argument. (GP-5504)
|
||||
* _Graphing_. Added __Truncate Function Name__ option to the Function Call Graph to control name truncation, which was previously always enabled. (GP-2307, Issue #1684)
|
||||
* _GUI_. Added the ability to search for text in the Console. (GP-3858, Issue #2567, #7136)
|
||||
* _GUI_. Added more data type filter options to the Data Types provider. (GP-3870, Issue #5734)
|
||||
* _GUI_. Updated Listing Label hovers to show symbol type and source type. (GP-4393)
|
||||
* _GUI_. Updated the Function Editor dialog to find the next editable table cell when initiating a table edit via `F2` on an uneditable cell. (GP-5316, Issue #7241)
|
||||
* _GUI_. Added the __Copy Formatted__ action to most trees to allow a copy operation that maintains tree node indentation. (GP-5317, Issue #7417)
|
||||
* _GUI_. Added an __Edit Structure Field__ action to allow changing the name, datatype, and comment for a structure (or union) at the same time. (GP-5326, Issue #7407)
|
||||
* _GUI_. Improved function parameter/return custom storage editor to employ a filtered pull-down combo-box for register selection. (GP-5369)
|
||||
* _GUI_. Symbol Tree - Improved event handling to maintain user view position; added an option for organization node group threshold; fixed missing nodes under classes; updated tree to maintain user selection. (GP-5474, Issue #7889, #7891)
|
||||
* _GUI_. Updated the Decompiler's rename dialog to pick the correct parent namespace. (GP-5565, Issue #7507)
|
||||
* _Importer_. The MapLoader now parses and applies the symbols found in the `Static symbols` section of a MAP file. (GP-5530, Issue #7945)
|
||||
* _Importer:Mach-O_. The `dyld_shared_cache` filesystem no longer throws exceptions when trying to perform slide fixups on very large cache files. (GP-5357)
|
||||
* _Importer:Mach-O_. The extracted dyld_shared_cache component loader now has options to automatically add common components that contribute to better analysis such as libobjc.dylib, constant data, and text stubs. (GP-5396, Issue #7289, #7469)
|
||||
* _Importer:Mach-O_. The Mach-O loader now properly handles the `LC_REEXPORT_DYLIB` load command, transitively exporting the exported symbols from one library to another. (GP-5429, Issue #7537)
|
||||
* _Importer:Mach-O_. Mach-O files contained within a Universal Binary container can now be directly imported without having to go through the File System Browser. Use the __Language__ field of the import dialog to select the architecture to import. (GP-5552)
|
||||
* _Listing_. Changed Listing comment fields to now display offcut comments. Offcut comments are comments at addresses in the middle of an instruction or data item instead of at the start address. They are displayed in red to distinguish them from non-offcut comments. (GP-4037)
|
||||
* _Navigation_. Added previously missing navigation history when using __Repeat Memory Search__ action. (GP-5440, Issue #7445)
|
||||
* _PDB_. Added a post-analysis pop-up message for when PDB file could not be found. (GP-5697)
|
||||
* _Performance_. Fixed performance issue with __Defined Strings__ table when other very large data types are present in the program. (GP-2941, Issue #3498, #5726, #8134)
|
||||
* _Processors_. Added support for ARM Cortex stack limit register instructions (GP-4731, Issue #5255, #5256, #6667)
|
||||
* _Processors_. Improved display of x87 floating-point operands. (GP-5030, Issue #6786)
|
||||
* _Processors_. Updated appropriate x87 instructions to modify the FPU instruction pointer. (GP-5191, Issue #7205, #7508)
|
||||
* _Processors_. Added support for ARM additional VFP system registers. (GP-5469, Issue #6573)
|
||||
* _Processors_. Added implementation of additional x86 AVX512 instructions. (GP-5537)
|
||||
* _Processors_. Improved pcode generated for certain x86 `PUSH FS` and `PUSH GS` variants. (GP-5638, Issue #6602)
|
||||
* _ProgramDB_. Provided various locking-related speed improvements for multi-threaded access. (GP-5619)
|
||||
* _Scripting_. Changed __In Tool__ option in the Script Manager table to automatically add actions to the global menu bar under a __Scripts__ menu if not already specified to be placed in another location specified by `@menupath`. (GP-5428)
|
||||
* _Scripting_. Removed old prototype `GccAnalysisScript` since it is no longer maintained and has been long since replaced with the `RecoverClassesFromRTTIScript`. (GP-5451, Issue #7871)
|
||||
* _Scripting_. PyGhidra can now open projects created with the Ghidra GUI by setting the `nested_project_location` optional parameter to `False`. (GP-5627, Issue #8040)
|
||||
* _SourceMatching_. The actions to create SourceFile transforms now use file choosers. (GP-5255)
|
||||
* _Version Tracking_. Made Version Tracking Wizard more efficient when choosing programs to be compared if either one is versioned or needs to be upgraded. (GP-4151)
|
||||
* _Version Tracking_. Changed the minimum function length in the Auto Version Tracker for the duplicate instruction correlator to be larger to improve the correlator speed. Users can change this option in the Auto Version Tracking options folder. (GP-5762)
|
||||
|
||||
### Bugs
|
||||
* _Analysis_. Fixed an issue with a missing magic value for Golang 1.20+ that could cause a failure in finding the root `moduledata` structure and subsequently all RTTI and function information in stripped PE binaries. (GP-5728, Issue #8213)
|
||||
* _Basic Infrastructure_. Fixed a bug that prevented new installations of Ghidra from applying preferences found in older installed versions of Ghidra. (GP-5633, Issue #8107)
|
||||
* _Calling Conventions_. Added compiler specification support for the ARM APCS calling convention. (GP-4923, Issue #7434)
|
||||
* _Calling Conventions_. Corrected specifications of return storage locations of structures for the default prototypes in x86gcc.cspec and x86-64-win.cspec. Made a number of improvements to the `MSABI` prototype in x86-64-gcc.cspec. (GP-5183)
|
||||
* _Debugger_. Fixed a bug that occurred when editing memory after closing and re-opening a trace in another tool. (GP-5314, Issue #7413)
|
||||
* _Debugger_. Fixed an issue where object key re-use caused incorrect merging of objects. Often, this led to stale values being used or displayed in parts of the UI. In particular, this caused breakpoints to appear at incorrect addresses. (GP-5379, Issue #7497)
|
||||
* _Debugger_. Provided a fix such that Debugger image defaults are not applied if there is a program. (GP-5607)
|
||||
* _Debugger:Breakpoints_. Fixed a bug with removing and re-adding the `BreakpointMarkerPlugin`. (GP-5364)
|
||||
* _Debugger:Breakpoints_. Fixed an issue with breakpoint state consistency when the containing program image is not mapped. (GP-5671)
|
||||
* _Debugger:dbgeng.dll_. Fixed a bug in the exception handler for dbgeng that caused stopping despite the settings. (GP-5606, Issue #8029)
|
||||
* _Debugger:dbgeng.dll_. For dbgeng-backed targets, if reading the PE-header to determine x86/x64 mode times out, the error is now in the Debug Console instead of a popup dialog. This automatic memory read is now also modulated by the main Listing's __Auto-Read Target Memory__ setting. (GP-5678, Issue #8155)
|
||||
* _Debugger:GDB_. Provided fix for signed/unsigned address errors in gdb. (GP-5331, Issue #6787)
|
||||
* _Debugger:GDB_. Fixed an issue where gdb connector couldn't list sections if any had zero length. (GP-5612)
|
||||
* _Debugger:Listing_. Fixed an issue with __Select All__ and similar actions in the __Dynamic Listing__. (GP-5438)
|
||||
* _Debugger:Listing_. Fixed `NullPointerException` in tab panel when exiting. (GP-5540, Issue #7956)
|
||||
* _Debugger:Memory_. Fixed a performance issue for long-lived (many snapshots) targets. (GP-5494, Issue #4940)
|
||||
* _Debugger:Objects_. Fixed an issue where __Refresh__ actions on Model view expansion were getting mixed up. (GP-5425)
|
||||
* _Debugger:Registers_. Fixed hang at launch when the __Registers__ table had a filter. (GP-5673)
|
||||
* _Debugger:Targets_. Fixed an issue that required user to click the __trace tab__ when launching without an Image; e.g., to attach manually. (GP-5668)
|
||||
* _Decompiler_. Upgraded taint analysis to interface with CTADL v0.11.0. (GP-5573)
|
||||
* _Decompiler_. Fixed issue preventing decompilation of certain functions containing a FLOAT_NAN pcode op. (GP-5676, Issue #8092)
|
||||
* _Demangler_. Fixed GnuDemangler to support the mangled TLS init function. (GP-5642, Issue #8105)
|
||||
* _Documentation_. Fixed some typos in the Debugger Course. (GP-5670)
|
||||
* _DWARF_. Fixed DWARF analyzer to handle Apple Mach-O truncation of DWARF5 section names. Fixed DWARF analyzer to handle DW_TAG_atomic_type. (GP-5755)
|
||||
* _Framework_. Fixed an issue where the installation directory was incorrectly reported in development mode. (GP-5698, Issue #8146)
|
||||
* _GUI_. Fixed a bug that caused the Symbol Tree to be blank when shown with a filter applied. (GP-5258, Issue #7365)
|
||||
* _GUI_. Fixed a table filter bug that caused some escaped glob characters to prevent items from passing the filter. (GP-5337, Issue #7444)
|
||||
* _GUI_. Fixed sporadic Decompiler function color bug that caused bad function colors to oscillate. (GP-5346, Issue #7453)
|
||||
* _GUI_. Fixed an issue with program tabs when the panel is size-restricted. (GP-5578, Issue #7915)
|
||||
* _GUI_. Fixed an issue where toolbar buttons sometimes got spaced far apart. (GP-5584, Issue #7984)
|
||||
* _GUI_. Fixed bug in __Search Memory__ that created a bad component title which ultimately prevented the tool from saving. (GP-5597, Issue #8015)
|
||||
* _GUI_. Fixed a bug that prevented the correct clearing of the `Esc` keybinding after restarting Ghidra. (GP-5599)
|
||||
* _GUI_. Fixed a bug in GoTo dialog where entering a backslash (`\`) caused a stack trace. (GP-5615, Issue #8038)
|
||||
* _GUI_. Fixed a bug on the Mac that caused `Ctrl-Mouse-Click` to clear the table selection when showing the popup menu. (GP-5618, Issue #7902)
|
||||
* _GUI_. Fixed a bug that introduced duplicate data when renaming functions with a filter. (GP-5620, Issue #8031)
|
||||
* _GUI_. Fixed the Data Type Manager's __Find Structures by Size...__ action so that it can find zero-length structures. (GP-5634, Issue #8096)
|
||||
* _Importer:ELF_. Added ELF SH4 partial in-place relocation processing for R_SH_DIR32 and R_SH_REL32 relocations. This was done in response to observed cases for VxWorks binaries. (GP-5605, Issue #8021)
|
||||
* _Importer:Mach-O_. The `dyld_shared_cache` filesystem now exposes a complete set of files that encompass the cache's entire address space. Performing an __Add To Program__ on broken references should no longer result in the address not being found. (GP-5349)
|
||||
* _Importer:Mach-O_. Fixed an issue in the Mach-O loader that prevented uninitialized segments from being mapped into memory. (GP-5532, Issue #7949)
|
||||
* _Importer:Mach-O_. Fixed a bug that resulted in incorrect external addresses of Mach-O undefined symbols. (GP-5554, Issue #5941)
|
||||
* _Languages_. Corrected x86-16 Protected Mode / System Management Mode language upgrade issues which could cause problems. This has been a long-standing problem which may have gone unnoticed but in some cases may have failed during the upgrade. (GP-5704, Issue #8140)
|
||||
* _Multi-User:Merge_. Corrected various Multi-User Merge issues related to data types, including handling of missing/deleted datatypes, zero-length Structure components, and bit-field components. (GP-5421)
|
||||
* _Multi-User:Merge_. Corrected various __Merge Tool__ Listing rendering issues related to external symbols. (GP-5480)
|
||||
* _Multi-User:Merge_. Corrected possible exception during Bookmark merging. (GP-5626)
|
||||
* _Processors_. Corrected patterns for x86 `INCSS`/`RDSSP` instructions. (GP-5267, Issue #6520)
|
||||
* _Processors_. Corrected issue with AARCH64 `LDnR` instructions only writing to one register. (GP-5286, Issue #6470)
|
||||
* _Processors_. Corrected `PUSHF` and `POPF` constructors in x86. (GP-5424, Issue #6601)
|
||||
* _Processors_. Fixed instruction parsing for AARCH64 `dsb` instruction. (GP-5587, Issue #7996)
|
||||
* _Processors_. Improved semantics for several AARCH64 Neon instructions. (GP-5622, Issue #5217)
|
||||
* _Processors_. Fixed z80 `sub` instruction semantics. (GP-5659, Issue #8144)
|
||||
* _Processors_. Corrected pcode for x86 `CVTTSD2SI` instruction. (GP-5665, Issue #8004, #8151)
|
||||
* _Processors_. Corrected disassembly for several x86 AVX512 instructions missing immediate operands. (GP-5725)
|
||||
* _Processors_. Corrected disassembly for RISC-V `max` and `minu` instructions. (GP-5729, Issue #8215)
|
||||
* _Project_. Corrected project-folder-rename problem which was preventing subsequent use of decedent files. This change also corrected related project file refresh and corrects invalid file index data which could prevent file creation after a combination of folder-renaming and file-versioning control actions. (GP-5660)
|
||||
* _SARIF_. Corrected various SARIF import/export failures. (GP-5749)
|
||||
* _Scripting_. Fixed a bug in the VxWorksSymTab_Finder script when run in headless mode. (GP-5682, Issue #8156)
|
||||
* _Scripting_. Fixed a bug that prevented PyGhidra from properly using the user's already-active virtual environment. (GP-5710, Issue #8180)
|
||||
* _Testing_. Updated pcodetest scripts to Python3. (GP-4995)
|
||||
|
||||
### Notable API Changes
|
||||
* _API_. (GP-5458) `GhidraProject.openProject.openProject()` now throws `NotFoundException, NotOwnerException, LockException`.
|
||||
* _API_. (GP-5591) Removed unused and unsupported `DataType.getDocs()` method.
|
||||
* _Debugger_. (GP-2040) Deleted `AbstractAsyncServer`, `AsyncClaimQueue`, `AsyncLock`, `AsyncLoop`, `AsyncPairingCache`, `AsyncRace`, `AsyncSequence*`, `BitmaskSet`, `DebugByteChannel`, `TypeSpec` and related, without replacements.
|
||||
* _Debugger_. (GP-3450) Added `UnwoundFrame.evaluate(Program, Varnode, AddressSetView)`.
|
||||
* _Debugger_. (GP-5379) Most accessor methods on `TraceUniqueObject` derivatives now require a `snap` argument. For getters, this is the snap for which the value is sought. For setters, this implies the effect is from that snap onward. In most cases, the GUI's current snap is suitable. (The deprecated legacy-mode objects ignore the argument.) This required argument has cascaded throughout many other parts of the API: `DebuggerStaticMappingService`, `AutoMapSpec`, `MapProposal.MapEntry`, `DebuggerStaticMappingService`, `ProgramModuleIndexer`, `DebuggerObjectActionContext`, `DebugerSectionActionContext`, `BreakpointActionSet`, and `*EmuBreakpointActionItem`. Additionally, `getLifespan` and similar, including setters and "split-and-set," have been removed from most `TraceObjectUnique` derivatives. For cases where you need to check if the object is valid at a particular time, use `isValid(long)`. For cases where you need to enumerate (e.g., to plot) the life, use the underlying `TraceObject`. To truncate the life of an object, use `remove(long)`. For `TraceThread` in particular, the destruction snap is now considered part of its life, which is consistent with how every other object has been treated. Connectors should (and already have been) using `remove`, which sets the "destruction snap" to the one preceding the current.
|
||||
* _Debugger:Agents_. (GP-4209) On the Python side: The ghidratrace package is now type-checked using mypy. As a result, the annotations used for the method registry now use `typing.Annotated` when parameters need additional description. `Client.create_trace()` now also requires a named parameter `extra`. On the Java side: Added `TraceTimeManager.findScratchSnapshot`. The trace-rmi protocol has also changed.
|
||||
* _Debugger:Agents_. (GP-5538) Powershell is now supported as a debug launcher language on Windows.
|
||||
* _Debugger:Breakpoints_. (GP-4546) TraceRmi methods with `action="break_ext"` now appear in the new drop-down. TraceRmi methods can now also specify their menu icon, as well as the text for their confirmation button in parameter dialogs. These are the `icon` and `ok_text` attributes, respectively. The `icon` attribute should be the id of an icon given in a theme.properties file.
|
||||
* _Debugger:dbgeng.dll_. (GP-5678) Added `DebuggerListingService.getAutoReadMemorySpec()`. Moved `AutoReadMemorySpec` into the Debugger-api module. Created `AutoReadMemorySpecFactory` and refactored accordingly.
|
||||
* _Debugger:Listing_. (GP-616) Added `Trace.getBaseDataTypeManager()` method. Added `TracePlatform.getDataTypeManager()` method. Added `TraceBasedDataTypeManager.getPlatform()` method. `TraceDefinedDataView.create()` now takes optional `platform` argument. Added `TraceVariableSnapProgramView.setPlatform()` method. `DebuggerPlatformService.setCurrentMapperFor()` has an additional `focus` parameter. Most methods in `DebuggerPlatformMapper` now take both `object` and `snap` parameters. Added `AbstractDebuggerPlatformMapper.getDisassemblyPlatform()` method. `DbgengX64DisassemblyInject.Mode` and related methods moved to `DbgengDebuggerPlatformOpinion`.
|
||||
* _Debugger:Listing_. (GP-5548) Added `DebuggerStaticSyncService` interface and its Plugin implementation. Moved `DebuggerOpenProgramActionContext` into API project. Added `DebuggerConsolePlugin.clear()` method.
|
||||
* _Debugger:Memory_. (GP-3405) Added `TraceHighlightEvent`.
|
||||
Added `TrackingChangedPluginEvent`.
|
||||
Added `AbstractLocation/Selection/HighlightPluginEvent`.
|
||||
* _Debugger:Objects_. (GP-5425) Several protected abstract methods in `AbstractTarget` are removed without replacement. `Target.collectActions` now requires an argument specifying how its object arguments are gathered.
|
||||
* _Debugger:Stack_. (GP-3771) Added `UnwindInfo.maskOfReturn`.
|
||||
* _Debugger:Time_. (GP-5523) Added `TimeRadix` class. Added `TraceTimeManager.set/getTimeRadix` methods. `TraceSchedule.toString` and `.parse` methods now accept radix argument. `Span.toString` can now accept custom endpoint formatter.
|
||||
* _Decompiler_. (GP-5477) Added new methods to the DecompilerHighlightService to allow function-specific highlights.
|
||||
* _Framework_. (GP-5436) Deleted the Debug/Framework-AsyncComm project/module. Most of its few remaining classes were moved to Framework/Generic.
|
||||
* _GUI_. (GP-5375) `GTree.forceNewNodeIntoView()` has been replaced by `GTree.whenNodeIsReady()`.
|
||||
* _ProgramDB_. (GP-5742) Deprecated the use of `int` to indicate a CommentType in favor of the newly created enum.
|
||||
* _Version Tracking_. (GP-4151) The Dialog Wizard API has been completely rewritten.
|
||||
|
||||
# Ghidra 11.3.2 Change History (April 2025)
|
||||
|
||||
### Improvements
|
||||
|
||||
Reference in New Issue
Block a user