-
Notifications
You must be signed in to change notification settings - Fork 20
Add comprehensive hardware breakpoint support for all debug adapters with UI integration #859
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
Co-authored-by: xusheng6 <[email protected]>
|
Co-authored-by: xusheng6 <[email protected]>
Co-authored-by: xusheng6 <[email protected]>
Co-authored-by: xusheng6 <[email protected]>
|
I'll implement these three enhancements:
Let me implement these changes step by step.
I've implemented all three requested enhancements: 1. DbgEng Adapter Hardware Breakpoint Support ✅Added complete hardware breakpoint support using WinDbg's
2. Hardware Breakpoint UI Dialog ✅Created new
3. Enhanced Breakpoint List with Type Column ✅Extended breakpoint list to show breakpoint types:
Here are mockups showing the UI enhancements: Key Features:
Commit: 7cb6ddd |
Co-authored-by: xusheng6 <[email protected]>
…with UI integration Co-authored-by: xusheng6 <[email protected]>
This PR implements comprehensive hardware breakpoint and watchpoint support across all debug adapters (LLDB, GDB RSP, Esreven, DbgEng), addressing a long-standing feature request with full UI integration.
Key Features
Standardized API
DebugBreakpointType
enum with support for:AddHardwareBreakpoint()
andRemoveHardwareBreakpoint()
with size parameter supportCross-Adapter Implementation
ba
commands (ba e/r/w/a for execute/read/write/access)Complete UI Integration
HardwareBreakpointDialog
with address input, type selection (Execute, Read, Write, Access), size configuration for watchpoints, and contextual helpPython API Integration
Backend Command Support
For advanced users, direct backend commands remain available:
Implementation Details
AddBreakpoint()
methods now handle hardware breakpoint typesFiles Changed
debuggercommon.h
,debugadapter.h/.cpp
,ffi.cpp
debuggerapi.h
,debuggercontroller.cpp
,ffi.h
lldbadapter.h/.cpp
,gdbadapter.h/.cpp
,esrevenadapter.h/.cpp
,dbgengadapter.h/.cpp
breakpointswidget.h/.cpp
,hardwarebreakpointdialog.h/.cpp
The implementation provides a complete hardware breakpoint solution with intuitive UI integration while maintaining architectural consistency and ensuring all existing functionality continues to work unchanged.
Fixes #53.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.