Commit graph

51 commits

Author SHA1 Message Date
Elad Ashkenazi 466a93dca5 Debugger: Fix thread-selection and refactoring 2024-09-20 23:52:37 +03:00
Elad Ashkenazi 9385f0673b Debugger: Non-blocking thread list refresh 2024-09-06 20:28:11 +03:00
Megamouse deba582353 Qt: Force reset of debugger when a different game is running 2024-09-06 05:05:54 +03:00
Elad Ashkenazi d6acdc77e0 Debugger/SPU: Implement SPU Disassembler 2024-08-21 13:32:45 +03:00
Eladash 6dc9e9659d Debugger/Logs: Allow to display thread from thread ID on log 2023-09-26 11:06:01 +03:00
Eladash e79fc867c5 Patches: Add savable breakpoints patch type 2023-09-26 11:06:01 +03:00
Elad Ashkenazi 213b810279 Debugger: Transition to plain text edit 2023-07-31 08:53:10 +03:00
Eladash c0280b43f2 PPU/Debugger: View the currently used CR field content in register panel 2023-07-12 13:22:06 +03:00
Eladash e77c01d00a debugger: Fix use of invalid pointers 2023-06-05 17:39:52 +03:00
Elad Ashkenazi c70338a9a9 Logs/Debugger: Go-To-Address signal from log text 2023-05-18 08:43:39 +02:00
Eladash 151a0955cf rsx: Implement draw call stepping 2022-12-10 15:09:42 +01:00
Eladash 5e01ffdfd8 Debugger: Optimize cpu_thread::dump_regs()
Reuse string buffer. Copies and reallocations are expensive with such large strings.
2022-06-23 22:41:32 +02:00
Eladash 794cbd8708 Debugger: Refresh at 100hz during debugger interaction (was 20hz) 2022-06-23 22:41:32 +02:00
Eladash ccb2724fc4 Debugger: Implement SPU breakpoints 2022-06-21 16:59:45 +03:00
Eladash 8cc6a30557 Debugger: Fix instruction pointer for good 2022-05-02 17:01:02 +03:00
Megamouse 03b76b4606 Emu: some cleanup 2021-04-09 21:03:49 +02:00
Eladash 7b57b8f2ca debugger: Implement ability to pause entire emulation on breakpoint 2021-04-01 19:11:55 +03:00
Megamouse 399f20ae54 Qt: Fix debugger step shortcuts 2021-03-22 10:44:30 +01:00
Eladash 2005c89baa memory viewer: Implement RSX mode
* Set the ground for RSX modes of register editor and insttruction editor, do not use shared ptrs directly.
* Make register editor and instruction editor modeless to allow to copypaste values from thread context etc in the background.
2021-02-02 01:05:36 +03:00
Eladash 0652870204 New RSX Debugger 2021-01-28 17:40:26 +03:00
Eladash dbecf0fa50 Introducing RSX debugger entry (main debugger) 2021-01-19 22:55:12 +03:00
Nekotekina b7bf316c1a Don't randomly include "stdafx.h"
It's file for precompiled headers.
Include what is used, don't rely on transitive includes.
2020-12-22 14:32:30 +03:00
Eladash 43c87e99b0 Debugger: Switch from NoThread when the emulation is running
And fix UpdateUnitList() when the emulation is stopped at initial startup.
2020-12-21 13:46:26 +03:00
Eladash 2c06043617 Debugger: correctness fixes and cleanup
* Remove m_current_choice, it's not correct to rely on thread name entry. In extreme corner cases a newly thread can be created, old destroyed with the same entry name. (reoccuring LV2 SPU/PPU ID)
* Remove m_no_thread_selected, can be easily replaced with std::weak_ptr expired() function and is more accurate this way.
* In HandleBreakpointRequest: only remove breakpoint on valid PPU thread and not any thread! also fix potential nullptr deref if thread has recently been destroyed.
2020-12-21 13:46:26 +03:00
Eladash 427cf91447 Debugger: rewrite GetPc() 2020-12-06 15:32:13 +03:00
RipleyTom af8c661a64 Remove BOM markers 2020-12-06 15:30:12 +03:00
Eladash b1710bb712
SPU Debugger: Implement float registers view + General debugger fixes (#9265)
* SPU Debugger: Fix try_get_insert_mask_info
* Debugger: Always update thread state on context's data change
No longer needing to press on thread's instructions for actions to work!
2020-11-15 08:45:28 +03:00
Eladash dc25a3fa2a PPU debugger: Show stack address of each function 2020-07-06 18:58:16 +02:00
Megamouse 18219afbf7 Qt: move rsx capture to Utilities menu 2020-04-22 21:43:03 +02:00
Nick Renieris 2eea18469d Qt/Debugger: Call Stack panel 2020-04-03 01:36:35 +01:00
Nick Renieris 9024ba69b4 Qt/Debugger: Split register misc state info to separate panels 2020-04-03 01:36:35 +01:00
Megamouse f7666f44da Untangle GUI and input includes 2020-02-24 16:31:01 +01:00
Megamouse fe75311be2 move config structs to own files and clean up some headers 2020-02-17 15:08:17 +03:00
scribam 790962425c Fix some "-Wpedantic" warnings 2019-06-01 22:59:23 +03:00
eladash f349695a75 Rsx: rewrite address translation 2018-08-13 16:16:34 +03:00
Robbie 477522210e Refactor debugger_frame into subclasses. Mostly trying to simplify
breakpoints.
2018-04-21 22:21:51 +04:00
TGEnigma cb9e6e75db Debugger improvements (#4026)
* Improve debugger
 * Added 'Step Over' functionality
 * Added special SPU pause functionality that pauses the SPU thread when the tag mask is at 0x80000000 by holding ctrl while pausing
  * Go to address dialog now evaluates expressions, including defined variables such as pc, r1, r2, etc
    * Requires QtScript to be linked with the project
  * Made the option to center shown addresses (Go to addr/pc) optional by making it an entry in the GUI ini config
  * Shown addresses now appear 'selected'
  * New keyboard shortcuts!
    - Ctrl+G -> Go to address
    - F10 -> Step Over
    - F11 -> Step (Into)
2018-03-13 16:23:12 +04:00
Megamouse 8db7ef4d5a Qt: enable background images for floating dock widgets 2018-03-02 21:50:48 +04:00
Megamouse 900329a1de Qt: fix dockwidget background 2018-03-01 17:10:26 +04:00
Nekotekina 76be7d40ac Remove PSP2 2018-02-09 15:24:46 +03:00
MRG95 c1f08ce58d Added breakpoint list
Added a list widget that displays all the currently active breakpoints. You can rename each one for convenience, delete them in bulk, or double click to jump to that address.
2017-10-29 16:17:05 +03:00
Megamouse cf83b796e1 Qt: include debug tool colors in stylesheet (#3527)
Qt: include debug tool colors in stylesheet
2017-10-04 23:10:24 +01:00
Megamouse 43bae9f9d7 [Qt] style adjustments 5
rename even more members and clean headers
adjust some more connects
move some function bodies to cpp
2017-09-08 19:23:34 +01:00
Megamouse 96dfa9b526 Splitter fix 2017-07-22 20:09:54 +03:00
Megamouse 67bbd59924 debugger_frame fixerinno
delete zombie dialog
clear breakpoints properly
2017-07-19 21:16:13 +03:00
Megamouse 67f1fa086d debugger_frame: transfer capture button from main_window menu
and clean up some unused actions in main_window.ui
2017-07-12 00:56:53 +01:00
Megamouse 06f6ac66fa debugger_frame: remove pause button
and move its functionality to run button
2017-07-12 00:56:53 +01:00
Nekotekina ef21e2253f qt: Use #pragma once, Q_SIGNALS, Q_SLOTS 2017-06-24 14:25:11 +03:00
Megamouse 51ce8f6c20 add No Thread option 2017-06-23 02:16:14 +03:00
Megamouse 31cedb6192 Reimplement debugger resize & disassembly (#2876)
* Reimplement debugger resize
fix interrupt

* add splitter to disassembly
fix debugger regression of last commit
fix gotoaddr pos

* travis sth sth

* add drag & drop to cg_disasm

* check for invalid address on set breakpoint
reenable debugger controls on Emu.IsReady()

* check for valid address more thoroughly
2017-06-16 21:35:58 +03:00