Skip to content

Releases: microsoft/mu_feature_debugger

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

v0.1.5

12 Sep 17:43
40e9812

Choose a tag to compare

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

11 Jun 18:22
62f9727

Choose a tag to compare

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 ba command, e.g. ba w8 0x10000001. These can be set in GDB by using the watch for writes, rwatch for reads, or awatch for either.

    #33

    • 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