Releases: microsoft/mu_feature_debugger
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
ba
command, e.g.ba w8 0x10000001
. These can be set in GDB by using thewatch
for writes,rwatch
for reads, orawatch
for 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
v0.1.3
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
- 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
- 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
What's Changed
-
Improvements to UEFIExt and fix register writes @cfernald (#23)
Change Details
## Description
- Fix issue with setting registers. This requires a windbgx fix as well.
- Add
!reboot
command for better reboot experience - Fixes setting
!modulebreak
after an existing modulebreak - fix full load of module on iterative runs of
!findall
- 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:
- Add windbg workaround PCD to allow disabling for native GDB systems.
- Add break reason for debugger initiated breakpoints
- Add workaround for #10
- Fix
.reboot
not working
Improvements to UEFI Extension:
- Cleaned up help function
- 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
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:
- The changelog post.
- The README.
- The migration documentation.
- As well as the underlying npm package,
@actions/artifact
documentation.
New Contributors
@vmjoseph
made their first contribution in actions/upload-artifact#464
Full Changelog: actions/upload-artifact@v3...v4.0.0
v3.1.3
What's Changed
- chore(github): remove trailing whitespaces by
@ljmf00
in actions/upload-artifact#313 - Bump
@actions/artifact
version to v1.1.2 by@bethanyj28
in actions/upload-artifact#436
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
- Bump
@actions/artifact
to v1.1.0 (actions/upload-artifact#327)- Adds checksum headers on artifact upload (actions/toolkit#1095) (actions/toolkit#1063)
Commits
5d5d22a
Merge pull request #515 from actions/eggyhead/update-artifact-v2.1.1f1e993d
update artifact license4881bfd
updating dist:a30777e
@eggyhead
3a80482
Merge pull request #511 from actions/robherley/migration-docs-typo9d63e3f
Merge branch 'main' into robherley/migration-docs-typodfa1ab2
fix typo with v3 artifact downloads in migration guided00351b
Merge pull request #509 from markmssd/patch-1707f5a7
Update limitation of10
artifacts upload to500
26f96df
Merge pull request #505 from actions/robherley/merge-artifacts- Additional commits viewable in compare view
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- `...
v0.1.0
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.
- FeatureDebuggerPkg implementation for a DXE & MM software debugger using a custom GDB stub.
- UefiExt Windbg extension for parsing the UEFI environment, whterh using the SW debugger or a hardware debugger backend.
- Tools and documentation for debugging UEFI platforms.