Skip to content

Releases: microsoft/mu_feature_debugger

v0.2.1

04 Oct 20:48
9f4cd58
Compare
Choose a tag to compare

Release for ARM64 UefiExt debugger extension.

v0.2.0

24 Sep 14:18
08e01ab
Compare
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
Compare
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
Compare
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

v0.1.3

22 May 17:47
26e1318
Compare
Choose a tag to compare

What's Changed

  • Fix single step on AARCH64 processors @cfernald (#32)
    Change Details
      ## Description

    On AARCH64 processors single step was not working on real hardware because either 1. the OS lock register was set, or 2. the DEBUG exceptions were masked by the DAIF configuration. This makes sure neither are true in debugger configuration.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Manually tested on an AARCH64 machine.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Introduce a fixed copy of the GDB scripts @cfernald (#30)
    Change Details
      ## Description

    Introduce a modified copy of efi_gdb.py and efi_debugging.py from BaseTools to be targetted for use with the DebuggerFeaturePkg.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Expand Windbgx work around for 0 page reads. @cfernald (#26)
    Change Details
      ## Description

    Windbg will attempt to read page 0 for some hueristics and will look on read that fail, the work-around to check for a NULL address won't catch all issues, so just check for all addresses in the first page.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Tested locally on device

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Remove windbg breakpoint workaround \& improvements @cfernald (#25)
    Change Details
      ## Description
    1. Remove workaround where windbgx wasn't able to step when broken on debug breakpoints for #10. This is fixed in windbgx version 1.2405.3001.0
    2. Minor improvements to the info monitor command.
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Tested locally with Q35

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v0.1.2...v0.1.3

v0.1.2

30 Apr 21:52
cee0d1a
Compare
Choose a tag to compare

What's Changed

  • Improvements to UEFIExt and fix register writes @cfernald (#23)
    Change Details
      ## Description
    1. Fix issue with setting registers. This requires a windbgx fix as well.
    2. Add !reboot command for better reboot experience
    3. Fixes setting !modulebreak after an existing modulebreak
    4. fix full load of module on iterative runs of !findall
    5. improvements to !advlog
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Tested with Q35 & SBSA

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

📖 Documentation Updates

  • Improvements to Windbgx integration and UEFI extension @cfernald (#22)
    Change Details
      ## Description

    Improvements to the core for:

    1. Add windbg workaround PCD to allow disabling for native GDB systems.
    2. Add break reason for debugger initiated breakpoints
    3. Add workaround for #10
    4. Fix .reboot not working

    Improvements to UEFI Extension:

    1. Cleaned up help function
    2. Added crude implementation for adv logger parser
    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Local tests on QEMU

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v0.1.1...v0.1.2

v0.1.1

22 Apr 20:21
aed4cc3
Compare
Choose a tag to compare

What's Changed

  • Add workaround for windbg trying to read windows shared data page @cfernald (#21)
    Change Details
      ## Description

    Windbg tries to read the Windows shared data page as some sort of heuristic when connecting. Because this page does not exist in UEFI mappings, Windows may loop on this read so long as it fails. This work around will just return 0 when reads occur to this well-known VA so cause the heuristic to fail fast.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Tested on Q35 virtual platform.

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Fix CodeQL issue for delimiter index in GDB parsing @cfernald (#20)
    Change Details
      ## Description

    Fix potential index overflow in GDB parsing.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    N/A

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • Change local in debug agent to static to fix compile error @cfernald (#12)
    Change Details
      ## Description

    Fixes a common local name to STATIC to avoid compile errors.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Local compile and test

    Integration Instructions

    N/A




  • Fix release pipeline permissions for uploading UefiExt.dll @cfernald (#11)
    Change Details
      ## Description

    Adds write permissions to release contents for the UefiExt build pipeline for it to upload the release artifact.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Manually tested in test release

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    
  • GitHub Action: Bump actions/upload-artifact from 3 to 4 @dependabot (#8)
    Change Details
      Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
    Release notes

    Sourced from actions/upload-artifact's releases.

    v4.0.0

    What's Changed

    The release of upload-artifact@v4 and download-artifact@v4 are major changes to the backend architecture of Artifacts. They have numerous performance and behavioral improvements.

    ℹ️ However, this is a major update that includes breaking changes. Artifacts created with versions v3 and below are not compatible with the v4 actions. Uploads and downloads must use the same major actions versions. There are also key differences from previous versions that may require updates to your workflows.

    For more information, please see:

    1. The changelog post.
    2. The README.
    3. The migration documentation.
    4. As well as the underlying npm package, @​actions/artifact documentation.

    New Contributors

    Full Changelog: actions/upload-artifact@v3...v4.0.0

    v3.1.3

    What's Changed

    Full Changelog: actions/upload-artifact@v3...v3.1.3

    v3.1.2

    • Update all @actions/* NPM packages to their latest versions- #374
    • Update all dev dependencies to their most recent versions - #375

    v3.1.1

    • Update actions/core package to latest version to remove set-output deprecation warning #351

    v3.1.0

    What's Changed

    Commits
    • 5d5d22a Merge pull request #515 from actions/eggyhead/update-artifact-v2.1.1
    • f1e993d update artifact license
    • 4881bfd updating dist:
    • a30777e @​eggyhead
    • 3a80482 Merge pull request #511 from actions/robherley/migration-docs-typo
    • 9d63e3f Merge branch 'main' into robherley/migration-docs-typo
    • dfa1ab2 fix typo with v3 artifact downloads in migration guide
    • d00351b Merge pull request #509 from markmssd/patch-1
    • 707f5a7 Update limitation of 10 artifacts upload to 500
    • 26f96df Merge pull request #505 from actions/robherley/merge-artifacts
    • Additional commits viewable in compare view

    Dependabot compatibility score

    You can trigger a rebase of this PR by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • `...
Read more

v0.1.0

02 Apr 23:13
a83e1d9
Compare
Choose a tag to compare

Initial release of the Mu Feature Debugger repo.

This initial release is still in-development, and bugs are almost certainly present. Please file issues for problem encountered, or feature requests.

This release includes initial implmentations of the following.

  1. FeatureDebuggerPkg implementation for a DXE & MM software debugger using a custom GDB stub.
  2. UefiExt Windbg extension for parsing the UEFI environment, whterh using the SW debugger or a hardware debugger backend.
  3. Tools and documentation for debugging UEFI platforms.