Admiral H. Curtiss
4e6c89fbfd
Qt/CodeViewWidget: Don't read PC in Update() if we don't have a CPU thread guard.
2023-02-20 03:10:12 +01:00
Admiral H. Curtiss
ef1520c2c6
Qt/CodeViewWidget: Don't try to pause emulator in Update() if we happen to be on a breakpoint.
2023-02-20 02:56:04 +01:00
Seeky
4e6e510003
Debugger: Add string comparison to conditional breakpoints.
2023-02-20 01:40:33 +01:00
Pokechu22
b6d476241a
CodeViewWidget: Fix memory leak
...
Per https://doc.qt.io/qt-6/qabstractitemview.html#setItemDelegateForColumn setItemDelegateForColumn does not take ownership of the parameter, so it was not being deleted. Specifying a parent to QObject (via QStyledItemDelegate's constructor) will allow it to automatically be deleted, per https://doc.qt.io/qt-6/objecttrees.html . The other instance of a QItemDelegate in IOWindow.cpp already used this.
2023-02-17 18:29:32 -08:00
Pokechu22
1c5e223532
MemoryViewWidget: Fix memory leaks
...
bp_item/row_item/item were never deleted, and the normal Qt ownership system wasn't applying to them because they were being cloned.
2023-02-17 18:17:01 -08:00
Pokechu22
8802f96b7e
Fix uninitialized variable warnings (C26495)
2023-02-15 19:18:39 -08:00
JosJuice
5b6784432c
Follow-up fixes for "Properly lock CPU before accessing emulated memory"
2023-02-14 18:44:16 +01:00
JosJuice
6f0266e8de
DolphinQt: Only update call stack if paused
...
This avoids a pseudo infinite loop where CodeWidget::UpdateCallstack
would lock the CPU in order to read the call stack, causing the CPU to
call Host_UpdateDisasmDialog because it's transitioning from running to
pausing, causing Host::UpdateDisasmDialog to be emitted, causing
CodeWidget::Update to be called, once again causing
CodeWidget::UpdateCallstack to be called, repeating the cycle.
Dolphin didn't go completely unresponsive during this, because
Host_UpdateDisasmDialog schedules the emitting of Host::UpdateDisasmDialog
to happen on another thread without blocking, but it was stopping certain
operations like exiting emulation from working.
2023-02-12 12:50:28 +01:00
JosJuice
7cecb28bdf
DolphinQt: Properly lock CPU before accessing emulated memory
...
This fixes a problem I was having where using frame advance with the
debugger open would frequently cause panic alerts about invalid addresses
due to the CPU thread changing MSR.DR while the host thread was trying
to access memory.
To aid in tracking down all the places where we weren't properly locking
the CPU, I've created a new type (in Core.h) that you have to pass as a
reference or pointer to functions that require running as the CPU thread.
2023-02-12 11:27:50 +01:00
Pokechu22
3bd655463d
MemoryViewWidget: Fix warning: enumeration value ‘Null’ not handled in switch [-Wswitch]
2023-02-09 16:23:02 -08:00
Pokechu22
5c8d8383e2
CodeWidget: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Admiral H. Curtiss
8adabb86cf
Debugger: Avoid ppcState global.
2023-01-27 15:22:45 +01:00
Admiral H. Curtiss
61ba516570
PowerPC: Move a few functions to PowerPCState.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
c13ca271d8
PowerPC: Parametrize CTR macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
0f301829d2
PowerPC: Remove rPS macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
8fccefa3aa
PowerPC: Remove GPR macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
be8d0b76ca
PowerPC: Remove PC macro.
2023-01-27 15:22:41 +01:00
Lioncash
e5b91f00b0
Common: Replace StringBeginsWith/StringEndsWith with std equivalents
...
Obsoletes these functions in favor of the standard member functions
added in C++20.
2023-01-24 14:58:20 -05:00
JosJuice
d0da689eeb
DolphinQt: Add i18n comments for strings containing the word "watches"
...
These new strings could use the same clarification as we have for
the existing string "&Delete Watch".
2023-01-23 20:49:22 +01:00
Admiral H. Curtiss
653e0ccf28
Merge pull request #11365 from iwubcode/cheat_manager_freeze_value
...
DolphinQt: add ability to lock / freeze values in the watches window
2023-01-09 18:41:28 +01:00
Admiral H. Curtiss
74e1577a2c
HW/ProcessorInterface: Refactor to class, move to Core::System.
2023-01-04 03:00:10 +01:00
JosJuice
3611045a6c
DolphinQt: Add more i18n comments
2022-12-24 08:32:49 +01:00
iwubcode
190cf5af30
DolphinQt: add multiselection to WatchWidget
2022-12-23 12:31:33 -06:00
iwubcode
7d7fcdddd3
DolphinQt: add lock state to WatchWidget
2022-12-23 12:31:33 -06:00
iwubcode
41c9d706cb
DolphinQt: cleanup WatchWidget
2022-12-23 11:59:23 -06:00
Sketch
b56411b84b
Fix MemoryViewWidget background colour
2022-12-17 10:37:37 +01:00
TryTwo
a17fbe7c65
Expand conditional breakpoints to memory breakpoints
2022-12-04 11:25:33 -07:00
Admiral H. Curtiss
2b93d5e0d7
Merge pull request #11273 from TryTwo/PR_Conditional_BP_Callstack
...
Debugger: add callstack to conditional breakpoints
2022-12-04 14:16:12 +01:00
Admiral H. Curtiss
2bd47d1435
Merge pull request #11232 from TryTwo/PR_MemoryView_highlighting
...
Debugger MemoryViewWidget: always highlight target address
2022-12-04 14:07:19 +01:00
TryTwo
76bf1b5f7d
Add callstack to conditional breakpoints. Checks entire stack for value.
...
Use: callstack(0x80000000).
!callstack(value) works as a 'does not contain'.
Add strings to expr.h conditionals.
Use quotations: callstack("anim") to check symbols/name.
2022-12-03 20:52:17 -07:00
Pokechu22
3d6bfcd236
JITWidget: Convert to fmt
2022-12-01 17:44:41 -08:00
Pokechu22
6a6d24550e
Clean up DisassembleBlock and JitInterface::GetHostCode
2022-12-01 17:43:35 -08:00
Pokechu22
5842b90bee
Show JIT blocks widget when selecting 'PPC vs Host' in code widget
...
Before, I just assumed this feature was broken since I didn't know what widget it used. Now, it behaves like show memory and show code elsewhere.
2022-12-01 17:43:35 -08:00
Pokechu22
0ccfa31ec8
Fix code widget not becoming visible when selecting 'view code' or similar
...
This affected the memory and registers widgets (and possibly others). I'm pretty sure it regressed in 5f629abd8b
.
The SetCodeVisible line is a new fix, but the equivalent already existed in the memory widget.
2022-12-01 17:43:35 -08:00
Pokechu22
4f4bd57fe9
Fix crash when stopping emulation while the JIT widget is in use
...
The call to analyzer.Analyze breaks when it attempts to read an instruction, as it eventually tries to read memory when Memory::m_pRAM is nullptr. Trying to read when execution is not paused in general seems like a bad idea (especially as analyzer.Analyze uses PowerPC::TryReadInstruction which can update icache - this is probably still a problem).
2022-12-01 17:43:34 -08:00
TryTwo
700eca1baa
MemoryViewWidget set target address as selected. Fix focus call. Always color selected item blue.
2022-11-30 16:38:56 -07:00
JoshuaMK
dd2282324b
Debugger BreakpointWidget: Allow editing breakpoints
2022-11-26 03:38:25 +01:00
Admiral H. Curtiss
2a81fa6c26
Merge pull request #11015 from TryTwo/Conditional_Breakpoints
...
Conditional breakpoints
2022-11-13 01:06:52 +01:00
Admiral H. Curtiss
cf533df814
MemoryWidget: Split Actions into Import and Export.
2022-11-05 23:05:15 +01:00
Admiral H. Curtiss
89bc1649e3
Merge pull request #11111 from TryTwo/PR_MemoryView_TableUpdates
...
MemoryViewWidget refactor memory table
2022-11-05 22:59:44 +01:00
Admiral H. Curtiss
431301add3
Merge pull request #10771 from TryTwo/PR_AutoStep
...
Debugger: Implement base code tracing logic. and feature to auto-step through code.
2022-11-04 23:32:54 +01:00
JMC47
950e1f94dc
Merge pull request #11185 from TryTwo/PR_MemoryWidget_Address_Input_History
...
MemoryWidget: Make search address a combobox that holds address history.
2022-10-30 04:21:14 -04:00
TryTwo
053320b7cf
MemoryWidget: Make search address a combobox that holds address history.
...
Always update the combobox when a new target address is sent.
2022-10-29 22:41:30 -07:00
JoshuaMK
e2f4400f49
Make SetPatch responsible for overwriting old patches
2022-10-26 22:46:49 -05:00
JosJuice
063c2739b3
Merge pull request #11135 from AdmiralCurtiss/ppcanalyst-unused-stats
...
PPCAnalyst: Remove unused variables and methods in BlockStats and BlockRegStats.
2022-10-23 21:22:54 +02:00
TryTwo
e2df81b0c1
Add logging and error reporting to Breakpoint Conditionals.
2022-10-23 08:22:35 -07:00
TryTwo
6f4f4e057e
MemoryViewWidget refactor memory table.
...
Don't re-create the table on every update.
2022-10-22 17:52:39 -07:00
Pokechu22
f9fe25291d
Remove most uses of StringFromFormat in favor of fmt
2022-10-12 16:50:47 -07:00
TryTwo
1ed6028af4
NewBreakpointDialog: Add a help message for conditionals.
2022-10-08 13:23:24 -07:00
Admiral H. Curtiss
1abffc0b05
PPCAnalyst: Remove unused variables in BlockStats.
2022-10-08 03:30:56 +02:00