Skip to content

Releases: microsoft/mu_feature_debugger

v1.0.1

06 Mar 15:51
aee730d

Choose a tag to compare

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

24 Feb 21:04
b58f5b5

Choose a tag to compare

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

03 Jul 22:31

Choose a tag to compare

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

12 Jun 23:59

Choose a tag to compare

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

07 Jun 17:57

Choose a tag to compare

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 OK instead 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

01 May 00:05
419bd25

Choose a tag to compare

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

28 Mar 16:41

Choose a tag to compare

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

16 Jan 17:57
dd218f5

Choose a tag to compare

What's Changed

  • Various fixes and improvements to UefiExt @cfernald (#78)
    Change Details
      ## Description

    Contains the following fixes and improvements

    1. Created simple !monitor command 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.
    2. Add support for a Rust debugger environment
    3. in-progress implementation of ELF header dumping
    4. Fixed issue with image magic size comparison.
    5. Switch !AdvLog to use local definition to support parsing without C symbols.
    6. 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>
    
  • 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

04 Oct 20:48
9f4cd58

Choose a tag to compare

Release for ARM64 UefiExt debugger extension.

v0.2.0

24 Sep 14:18
08e01ab

Choose a tag to compare

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