Releases: microsoft/mu_feature_debugger
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
v0.1.5
What's Changed
-
update CI branches to release/202405 @apop5 (#52)
Change Details
## Description
Update the CI branches to release/202405
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI
Integration Instructions
N/A
-
Do not treat RP memory as valid for access @cfernald (#40)
Change Details
## Description
When accessing memory, treat read protected memory the same as non-resident VAs. There shouldn't be a need to read or write to these addresses and if so in the future they should be sup[ported through physical read/write instructions.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested in SBSA
Integration Instructions
N/A
</blockquote> <hr> </details>
Full Changelog: v0.1.4...v0.1.5
v0.1.4
What's Changed
-
Implement hardware watchpoints or data breakpoints @cfernald (#37)
Change Details
## Description
Implement up to 4 watchpoints, or data breakpoints, which are represented by the GDB breakpoints types 2-4. These can be set in windbg by using the
bacommand, e.g.ba w8 0x10000001. These can be set in GDB by using thewatchfor writes,rwatchfor reads, orawatchfor either.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on Q35 and SBSA on QEMU.
Integration Instructions
N/A
</blockquote> <hr> </details>
Full Changelog: v0.1.3...v0.1.4