Releases: microsoft/mu_feature_debugger
v1.0.1
What's Changed
-
Fix aarch64 page table parsing for 5 level paging @cfernald (#158)
Change Details
With 2511, the arm mmu library added support for an additional paging level. When this occurs the current debugger logic will underflow and start parsing the page tables with garbage levels and entry counts. This change updates the level calculation to reflect the arm mmu library changes.
Description
With 2511, the arm mmu library added support for an additional paging level. When this occurs the current debugger logic will underflow and start parsing the page tables with garbage levels and entry counts. This change updates the level calculation to reflect the arm mmu library changes.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on SBSA initial breakpoint
Integration Instructions
N/A
</blockquote> <hr> </details>
-
CISettings: Update to 202511 @apop5 (#149)
Change Details
## Description Update the branch of mu_basecore used to 202511.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Local CI
Integration Instructions
No Integration necessary.
Full Changelog: v1.0.0...v1.0.1
v1.0.0
What's Changed
-
UefiExt: Add Option To Ignore Self Map in !pt @os-d (#115)
Change Details
## Description
Currently !pt will always search for a self map entry and use that to walk the page tables. However, this doesn't let the extension walk uninstalled page tables (because that virtual address range is not mapped).
This adds a flag to !pt to ignore the self map and instead parse the page tables in a standard walk to handle the offline page table parsing case.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Parsing offline self mapped page tables.
Integration Instructions
Run !pt -i VA [Root] to ignore the self map when parsing offline page tables.
</blockquote> <hr> </details>
⚠️ Breaking Changes
-
Remove code migrated to uefi\_debug\_tools @cfernald (#122)
Change Details
## Description
UefiDbgExt & ComToTcpServer have been migrated to a new repo: https://github.com/microsoft/uefi_debug_tools
This commit removes this code and fixes some stale references.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
</blockquote> <hr> </details>
Full Changelog: v0.2.7...v1.0.0
v0.2.7
What's Changed
-
UefiExt: Use String Len Not Sizeof @os-d (#112)
Change Details
## Description
When calculating what to print when a truncated message is sent from the debugger, UefiExt was using sizeof(CHAR8 *) which ended up removing valid characters that the target debugger had sent.
This fixes it to use the length, not size of the pointer.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested by using multi-packet monitor commands.
Integration Instructions
N/A.
</blockquote> <hr> </details>
Full Changelog: v0.2.6...v0.2.7
v0.2.6
What's Changed
-
Add !findall Support for Rust @os-d (#108)
Change Details
## Description
This patch adds !findall support for Rust. In addition, it removes the !loadmodules export as that is wrapped by !findall and not documented.
Also fix a couple casting errors that have come up either with a new VS version in the pipeline or just unnoticed before.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested by using !findall with Rust and with C.
Integration Instructions
N/A.
</blockquote> <hr> </details>
Full Changelog: v0.2.5...v0.2.6
v0.2.5
What's Changed
-
Fixes monitor to respond OK and updates UefiEXT @cfernald (#109)
Change Details
## Description
Fixes the monitor response to use the intermediate packet followed by an
OKinstead of the imemediate packet. This is more consistent with other implementations and leaves up the ability to send responses in part in the future.Additionally, this updated the UefiExt to handle the OK that now gets appended to the response as well as fixup handling of larger responses to no longer rely on a static buffer limit.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on Q35 with Windbg
Integration Instructions
N/A
</blockquote> <hr> </details>
-
UefiExt: Automatically scroll through truncated commands @cfernald (#106)
Change Details
## Description
When detecting a
#T#truncation tag, automatically request the next buffer in the command.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Test on Q35
Integration Instructions
N/A
</blockquote> <hr> </details>
Full Changelog: v0.2.4...v0.2.5
v0.2.4
What's Changed
-
CI: Change to running 202502 branch @apop5 (#100)
Change Details
## Description
Change to using 202502 Branches.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Ran CI build.
Integration Instructions
No integration necessary.
Full Changelog: v0.2.3...v0.2.4
v0.2.3
What's Changed
-
Add !pt extension @os-d (#93)
Change Details
## Description
This commit adds the !pt extension for AMD64 and ARM64 to analyze page table pages. Refer to the !uefiext.help for information on running it.
Uncrustify was also run on the files changed to clean up some of the new code, hence a couple formatting changes in uefiext.cpp.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested with various AMD64 and ARM64 physical and virtual platforms.
Integration Instructions
N/A.
</blockquote> <hr> </details>
-
Add advanced logger discovery for rust @cfernald (#82)
Change Details
## Description
Adds a check for finding a rust implementation of the advanced logger buffer.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
</blockquote> <hr> </details>
Full Changelog: v0.2.2...v0.2.3
v0.2.2
What's Changed
-
Various fixes and improvements to UefiExt @cfernald (#78)
Change Details
## Description
Contains the following fixes and improvements
- Created simple
!monitorcommand for invoking GDB monitor commands without the tedious.exdicmd target:0:...command. This will also clean up the output and capture output even if verbose output is disabled. - Add support for a Rust debugger environment
- in-progress implementation of ELF header dumping
- Fixed issue with image magic size comparison.
- Switch
!AdvLogto use local definition to support parsing without C symbols. - Implemented environment autodetection by capture exdicmd response output.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested locally
Integration Instructions
N/A
</blockquote> <hr> </details> - Created simple
-
Flush the out queue to avoid mistaking uefi log content for gdb command response @srilathasridharan (#74)
Change Details
## Description
out_queue contains last buffered serial log contents from the com port. This could be mistaken as a response to the in_queue commands. This change empties the queue before making connection.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on gdbgui/vscode extension/gdb-multiarch commandline/windbgx.
Integration Instructions
N/A
Full Changelog: v0.2.1...v0.2.2
v0.2.1
v0.2.0
What's Changed
-
Add PCD flag to allow disabling debugger polling @cfernald (#60)
Change Details
## Description
Adds a flag to the debugger PCD and HOB to allow polling for break from the debugger. This may be necessary for scenarios where the debugger and console share a serial port so that they do not contend over input while the debugger is not broken-in.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
Testing Instructions: N/A
🚀 Features & ✨ Enhancements
-
Still break into the debugger on unknown exception handlers @cfernald (#55)
Change Details
## Description
Changes the default behavior from unknown exceptions from a cpu dead loop to still break into the debugger with a "generic fault" information
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
Testing Instructions: N/A
Full Changelog: v0.1.5...v0.2.0