Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Feature request: FPU and XMM registers

<< < (3/3)

XayC:
I'm trying to add this feature to the debugger plug-in. The two screenshots show the results so far.
The first one shows the standard registers and floating point registers, the second screenshot shows the multimedia registers.

Changes:
- As thomas suggested register status is now taken using info all-registers command.
- The results from GDB are now parsed inside the CPURegistersDlg class.
- Changed the way data is updated in the registers dialog. Now every time an update is performed, all the elements in the dialog are removed and re-added. While this is simpler and cleaner, every update cancels the current selection and view in the dialog.

Problems or things still to-do:
- Support the parsing of OR32 style too (look at plugins\debuggergdb\gdb_commands.h function ParseOutputFromOR32gdbPort).
- Support the parsing of CDB output.
- Highlighting of changed registers.
- Better parsing of the multimedia registers value. Currently the GDB output is split using the "}," separator, which works and it's easy, but doesn't give the best results.

XayC

[attachment deleted by admin]

MortenMacFly:

--- Quote from: XayC on June 07, 2009, 08:10:33 pm ---I'm trying to add this feature to the debugger plug-in.

--- End quote ---
Nice work so far! :D

XayC:
The feature (show FPU, MMX and XMM registers) is complete.
The first screenshot shows the new registers dialog docked, showing only the basic registers. The second screenshot shows the dialog, floating, showing all the registers.
The check box in the dialog is used to switch between the two modes.

The following files have been changed. The code to parse the output from the debugger has been moved from cdb_commands.h / gdb_commands.h to the dialog class.

--- Code: ---src/plugins/debuggergdb/cpuregistersdlg.cpp
src/plugins/debuggergdb/cpuregistersdlg.h
src/plugins/debuggergdb/cdb_commands.h
src/plugins/debuggergdb/gdb_commands.h
--- End code ---

Changes / new features:
- Using a check box it's possible to show only basic registers or all registers (only supported with x86 GDB).
- Flag registers will now show also the single flags names (in addition to the hexadecimal value).
- Kept the support for OR32 architecture and CDB debugger.

This patch should close the following feature requests: 4108 (Registers window improvement), 2754 (Support for FPU and XMM registers).

This patch has not been tested with GDB OR30 architecture and with CDB.

XayC


[attachment deleted by admin]

oBFusCATed:
Good work,
But why don't you use a property grid(propgrid) control?
With it I think you can have a tree like structure and save a bit of space.

Another option is to add a third column in the current  control,
which will be used to display the type of data displayed in the second column.
The type of the register could be controlled by a context menu, active only for the XMM registers.
And when the users sets the type of the register it is remembered for the next refreshes, runs of the debugger.

Best regards...

Navigation

[0] Message Index

[*] Previous page

Go to full version