-
-
Notifications
You must be signed in to change notification settings - Fork 122
Memory Observer improvements: #1927
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: main
Are you sure you want to change the base?
Conversation
• proper TextFlags in input box • remove button in address tables • new position for "fixed-point values" checkbox • new buttons for (un)freeze/all • smaller buttons for read and write breakpoints • validate sequence size to prevent error
WalkthroughThe changes update the "Plain search," "Delta-over-time search," and "Pattern search" tabs within the memory observer GUI widget. Input fields now restrict characters based on user selections (hex or decimal). The "Found values" tables in both search tabs add new columns, including "Remove" buttons for individual address management and updated breakpoint controls. The "Delta-over-time search" tab introduces new controls for freezing/unfreezing addresses and displaying values as fixed-point, with UI elements shown conditionally. In the "Pattern search" tab, sequence strings are truncated to match the selected byte size when necessary. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant GUI
participant MemoryObserver
User->>GUI: Enter value in "Plain search" input
GUI->>GUI: Restrict input to hex/decimal based on "Hex" checkbox
User->>GUI: Click "Remove" on found address
GUI->>MemoryObserver: Remove address from list
User->>GUI: Use "Delta-over-time search" controls
alt Stride > 1 and not hex mode
GUI->>User: Show "Display as fixed-point values" checkbox
end
User->>GUI: Click "Freeze all"/"Unfreeze all"/"Remove all frozen addresses"
GUI->>MemoryObserver: Perform freeze/unfreeze/remove actions
User->>GUI: Select sequence size in "Pattern search"
GUI->>GUI: Truncate sequence string if it exceeds selected size
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (1)
🧰 Additional context used🪛 GitHub Check: CodeScene Cloud Delta Analysis (main)src/gui/widgets/memory_observer.cc[warning] 98-449: ❌ Getting worse: Complex Method [warning] 98-449: ❌ Getting worse: Complex Method ⏰ Context from checks skipped due to timeout of 90000ms (1)
🔇 Additional comments (9)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR refines the Memory Observer widget with improved input handling, new removal buttons, updated layout for checkboxes and breakpoints, and sequence size validation to prevent errors.
- Enhanced the TextFlags for the pattern input to support hexadecimal/decimal validation
- Added new buttons for removing addresses and for freezing/unfreezing memory addresses
- Implemented sequence length truncation when selecting preset sequence sizes
Comments suppressed due to low confidence (1)
src/gui/widgets/memory_observer.cc:443
- Truncating m_sequence in the radio button selection logic may inadvertently remove valid data if the sequence exceeds the expected length; please verify that this behavior is intended and consider adding a clarifying comment or test to document it.
if (ImGui::RadioButton(_("8 bytes (fast)"), &m_sequenceSize, 8) && strlen(m_sequence) > 8) {
• proper TextFlags in input box
• new remove button in address tables
• changed position for "fixed-point values" checkbox
• new buttons for (un)freeze/all
• smaller buttons for read and write breakpoints, unified in a single column
• validate sequence size to prevent error