Commit Graph

267 Commits

Author SHA1 Message Date
chaoticgd a930daf575 Debugger: Wait for the entry point to run before scanning from memory 2025-01-20 15:18:33 -05:00
TheTechnician27 23fd57f641 Copyright: Change year from 2002-2024 to 2002-2025 2025-01-20 05:07:26 +01:00
Ziemas 33a475a456 DebugTools: Fix GCC build, missing include 2024-12-24 13:47:49 +01:00
chaoticgd 2501d87840 Console: Fix newline logging regression 2024-11-28 12:53:42 -05:00
chaoticgd 719063e996 Console: Limit buffer size in ConsoleLogFromVM::Write 2024-11-26 22:44:00 +01:00
chaoticgd 7584a6bb29 Debugger: Allow symbols starting with an underscore in expressions 2024-11-16 11:50:19 -05:00
chaoticgd ce6103be30 Debugger: Improve function scanner performance for unmapped addresses 2024-11-16 11:50:19 -05:00
chaoticgd 9da4459ab3 Debugger: Run the function scanner on the main symbol database 2024-11-16 11:50:19 -05:00
chaoticgd 3b9b9a84cd Debugger: Use expressions for the function scanner address range 2024-11-16 11:50:19 -05:00
chaoticgd cce0ae4369 Debugger: Allow loading symbols conditionally and with a base address 2024-11-16 11:50:19 -05:00
chaoticgd efb43ac7f9 Debugger: Make the expression parser thread safe 2024-11-16 11:50:19 -05:00
chaoticgd bea471a0e3 Debugger: Fix loading symbols from ELF files other than the boot ELF 2024-11-06 16:58:07 -05:00
chaoticgd 4dafee17e0 Debugger: Refactor nocash symbol importer 2024-11-06 14:23:22 -05:00
Ty Lamontagne 943fbd8719 Dis5900asm: Fix an out of bounds access on invalid pmfhl formats 2024-10-30 09:15:17 -04:00
Ty Lamontagne ab21d22514 Misc: wire up and refactor trace logging 2024-10-19 20:04:02 -04:00
chaoticgd f77bf1ec6b Debugger: Be smarter about deciding when functions should be hashed 2024-10-18 13:57:05 -04:00
chaoticgd ed4fbb4f5a Debugger: Hash functions scanned in by the MIPS analyst 2024-10-18 13:57:05 -04:00
chaoticgd 2c3abe33d5 Debugger: Add settings to control the analysis passes 2024-10-18 13:57:05 -04:00
chaoticgd 0fd7e1d7c2 Debugger: Split out SymbolImporter into its own class 2024-10-18 13:57:05 -04:00
Ty Lamontagne a694c1bd26 Debugger: Use safe VTLB functions for memory reading and writing 2024-09-29 10:23:00 -04:00
chaoticgd 31dcda05b7 DebugTools: Scan for functions from the ELF instead of from memory 2024-09-28 12:17:55 -04:00
Ty Lamontagne d1721360ff
DebugInterface: Fix formatting 2024-09-18 16:57:20 -04:00
Ty Lamontagne 0a0f99dd1b DebugInterface: Try to show the kernel memory mappings, again 2024-09-18 12:50:48 -04:00
Ziemas 5c83edb7b2 ExpressionParser: Add missing include in header 2024-09-11 09:09:38 -04:00
chaoticgd 90463a4a6c Debugger: Bring back the expression parser 2024-09-02 16:16:05 -04:00
chaoticgd 42e4a47bfc DebugTools: Fix some compiler warnings 2024-08-28 23:29:35 +02:00
chaoticgd c83cca1d87 Debugger: Add GNU demangler
This code is taken from GCC 13.2.0 with a number of modifications
applied. See the included readme for more information.
2024-08-27 12:48:40 -04:00
chaoticgd 44b50bee26 Debugger: Replace SymbolMap class with new SymbolGuardian class
This new class uses the CCC library I added in the last commit and
parses the symbol tables on a worker thread.
2024-08-27 12:48:40 -04:00
Ty Lamontagne 112d02eaf5 Debugger: Track remaining buffer size for snprintf to prevent fortify fail 2024-08-06 17:03:11 -04:00
GovanifY 132431b7c8 headers: relicense to GPL-3.0+
also update to 2024 while i'm at it
2024-07-30 17:17:13 -04:00
Ty Lamontagne de020978e4 Debugger: Use std::string for bp conditions. Implement memory bp conditions 2024-07-11 11:21:39 -04:00
Ty Lamontagne 06c9c60717 Debugger Expressions: Add FPU registers to breakpoint conditionals. 2024-07-08 00:57:08 +02:00
Ty Lamontagne bdeb0fcb76 Debugger: Disable pseudo ops 2024-06-13 09:56:58 +01:00
Benjamin Moir 5f7e97c27c [SAVEVERSION+] EE: Expose advanced option for extra memory 2024-05-09 13:45:06 +10:00
Silent 272c0369f1 Debugger: Untangle the breakpoints data flow to resolve races
Tightens the data flow between the CPU and UI threads
to resolve multiple race conditions, such as:
1. Unbinding a debug interface update CB while it's in use,
    causing a possible use-after-free.
2. Binding breakpoints via the disassembly widget that would read
    a stale local variable, and bind the breakpoint to a bogus address

+ probably more subtle races that are now resolved
2024-04-08 19:54:46 +01:00
Ty Lamontagne c0a6e21599 DebugTools: Properly Mark Addresses < 0xBFC00000 as Invalid
Fixes asserts and possible crashes in release when these addresses are accessed in the debugger.
2024-04-08 19:54:46 +01:00
Silent 5e1009b4fb Debugger: Unbind the BP UpdateHandler on destructing DebuggerWindow
Prevents an use-after-free on the DebuggerWindow object
2024-04-08 19:54:46 +01:00
Ty Lamontagne 4919f9b18c DebugTools: Add noreturn heuristic 2024-02-28 16:48:54 +00:00
Stenzek fa00069068 Console: Remove WX rubbish and replace 2024-01-12 12:40:46 +10:00
Ty Lamontagne ebf8cba6a4 Core: Remove syscon log and merge with EE logs 2024-01-04 21:10:37 +00:00
Stenzek fb15893521 VMManager: Remove and merge System.cpp 2023-12-27 13:55:35 +10:00
Stenzek d9abe10308 Misc: Remove explicit PCH include, switch to SPDX 2023-12-24 14:03:14 +10:00
Stenzek 47a65ce01e Misc: Slim down PCH 2023-12-24 14:03:14 +10:00
Ty Lamontagne 9a6e5458c9 Debugger: Clear breakpoint skips when resetting 2023-11-19 14:27:30 +00:00
Ty Lamontagne 46a0c2d5b6 Debugger: IOP Function Tree
Co-authored-by: Ziemas <ziemas@ziemas.se>
2023-10-31 15:42:56 +00:00
Ty Lamontagne 85539c7bb9 DebugTools: Simplify the symbol map 2023-10-31 15:42:56 +00:00
Ty Lamontagne e9ead0d33d Debugger: Disable instruction simplification 2023-10-26 19:26:43 +01:00
Ty Lamontagne be405eb705 Debugger: Visually show what CPU triggered a breakpoint 2023-10-26 19:26:43 +01:00
Ziemas e1bfd95f63 MipsStackWalk: Detect leaf functions. 2023-10-26 19:25:13 +01:00
Ziemas 715bc94bd9 MipsStackWalk: Fix IOP stack walking 2023-10-26 19:25:13 +01:00