Commit Graph

8259 Commits

Author SHA1 Message Date
Vicki Pfau 18a35b3928 Feature: Move command-line patch/cheats argument handling 2023-11-24 22:28:05 -08:00
Vicki Pfau 3e47da2e18 SDL: Fix minor leak if debugger isn't used 2023-11-24 22:28:05 -08:00
Vicki Pfau 319bdbd106 Feature: Move command-line debugger argument handling 2023-11-24 22:28:05 -08:00
Vicki Pfau b7284542bc Debugger: Move CLIDebugerEditLine implementation into debugger/ 2023-11-24 22:28:05 -08:00
Vicki Pfau ce4024a29e GBA Savedata: Fix crash when resizing flash save games for RTC data 2023-11-24 22:28:05 -08:00
Vicki Pfau 050c5da263 Tools: Move updater and docgen source into tools/ 2023-11-24 22:28:05 -08:00
Vicki Pfau 978e7c94b2 Tools: Add SDF-generation tool and 4x font SDF 2023-11-24 22:28:05 -08:00
nia d75d26bcc9 Scripting: Check for ENOTRECOVERABLE
It's part of "robust mutexes" and may not necessarily be available
(e.g. on NetBSD 9)
2023-11-20 02:49:43 -08:00
Vicki Pfau 6853080b98 FFmpeg: Fix deprecation warnings 2023-11-06 22:16:14 -08:00
Vicki Pfau 437ad30547 GBA Audio: Only read MP2k context addresses if valid 2023-10-29 17:07:15 -07:00
Vicki Pfau 9c9f31d0d1 Qt: Fix non-debugger build (fixes #3049) 2023-10-25 15:22:09 -07:00
Vicki Pfau 6ecc182d7c Qt: Attach debugger when attaching scripting controller (fixes #3046) 2023-10-15 19:42:50 -07:00
Vicki Pfau dca568a0be CMake: Fix DEFAULT_LTO 2023-10-15 19:19:02 -07:00
leo60228 ce374b15a3 Debugger: Advertise QStartNoAckMode support 2023-10-07 23:56:23 -07:00
leo60228 6e2c3885ee Debugger: Fix off-by-one breaking StartNoAckMode 2023-10-07 23:56:23 -07:00
David Spickett ef7edba159 Debugger: Fix interrupt after continue from GDB stub
GDB and LLDB will send a ctrl-c character (\x03) to the stub
to interrupt it after a continue where it doesn't stop on its own.

E.g.
```
void foo() {
  foo2();      // Continue from here.
  while (1) {} // Loops here until ctrl-c in the debugger.
}
```

mGBA had code to handle the ctrl-c but because in _continue
we set the paused status after calling mDebuggerModuleSetNeedsCallback,
the callback was never set so nothing was looking for new messages
while we were running. We should instead set the paused state then call
mDebuggerModuleSetNeedsCallback.

mDebuggerModuleSetNeedsCallback calls mDebuggerUpdatePaused, and all
other calls to mDebuggerUpdatePaused update the paused state before
that call so this matches existing usage of that too.

With this fix, after the continue _gdbStubPoll is called periodically
and will pick up the ctrl-c as it comes in (_gdbStubWait is used when
we are stopped in the debugger).

This fixes ctrl-c to interrupt when using lldb and gdb.
2023-10-07 23:56:11 -07:00
Vicki Pfau 46f59df10a Core: Add missing defines to flags.h 2023-09-27 20:21:28 -07:00
Vicki Pfau d34ec95879 Wii: Fix build 2023-09-27 20:21:03 -07:00
Vicki Pfau 0f0dccdcf2 Scripting: Unpack breakpoint name struct 2023-09-27 17:53:30 -07:00
Vicki Pfau 476dcc11df Scripting: Attach canvas object in docgen 2023-09-27 16:51:48 -07:00
Vicki Pfau 1dd00d5bb0 Scripting: Fix typo in docs 2023-09-27 16:47:43 -07:00
Vicki Pfau 4215332eb4 Revert "Qt: Ensure action set is clean before (re)building"
This reverts commit 3ee12b1a55.
2023-09-24 21:04:59 -07:00
David Spickett 7de02c9949 Debugger: Correct PC value when read with 'p' instead of 'g' packet
The 'g' packet is handled by _readGPRs which has a special case for
the PC due to the way the CPU reports the PC value.

This was added by added by a967f9aac4.

The 'p' packet is handled by _readRegister which did not have this
special case for PC. This lead to GDB reporting the correct PC value
but LLDB not, as the latter used 'p' instead.

This meant you saw things like this:
    0x80002a4 <+16>: str    r0, [sp, #0x4]
    0x80002a8 <+20>: bl     0x80001f0      <----------expected to be here.
->  0x80002ac <+24>: b      0x80002b0

Where you expected to be about to bl to another function,
but it looked like you had already done it.

And more obviously, when you first attached to the GDB stub,
the PC was reported as 4 not 0.
2023-09-22 23:07:43 -07:00
Vicki Pfau beda1d5b87 Scripting: Enhance error reporting 2023-09-16 01:30:40 -07:00
Vicki Pfau efb30080e8 Scripting: Code cleanup 2023-09-16 01:20:55 -07:00
Vicki Pfau 0c675b12e4 Scripting: Simplify console implementation 2023-09-16 01:20:34 -07:00
Vicki Pfau 805773aa8f Scripting: Fix console error log level 2023-09-16 00:42:52 -07:00
Vicki Pfau c03b15944b Qt: Add shadow ROM exporting 2023-09-15 23:36:03 -07:00
Vicki Pfau 8610147ad7 Qt: Expand romFilters functionality 2023-09-15 23:36:03 -07:00
Vicki Pfau 131b983894 Debugger: Move platform-specific flag lookup to mDebuggerPlatform 2023-09-15 23:36:03 -07:00
Vicki Pfau d55a13c9ba Debugger: Initial memory access logger support 2023-09-15 23:36:03 -07:00
Vicki Pfau 9c673f527d ARM, SM83: Check for events both before and after single stepping 2023-09-15 23:36:03 -07:00
Vicki Pfau 5d32e432b3 GBA Core: Add missing blocks 2023-09-15 23:36:03 -07:00
Vicki Pfau c6316edf2a GB, GBA: Move CLI debugger headers 2023-09-15 22:08:12 -07:00
Vicki Pfau 7015a104be Debugger: Clean up layering violation 2023-09-15 22:08:12 -07:00
Vicki Pfau b2dd7611ea GBA Core: Export reduced GBA ROM region size if the ROM is less than 32 MiB 2023-09-15 22:06:33 -07:00
Vicki Pfau 022e009a75 GB Core: Fix exported size information 2023-09-15 22:06:33 -07:00
Vicki Pfau b46278b3ed GBA: Make sure unloading a ROM frees the AGBPrint buffer 2023-09-15 22:06:33 -07:00
Vicki Pfau 4b9072de03 Qt: Move controller-based subview auto-closing 2023-09-14 22:34:46 -07:00
Vicki Pfau f051b88f81 Qt: SaveConverter doesn't use the controller 2023-09-14 22:34:46 -07:00
Vicki Pfau 4de9d5f16c Core: Fix potential UAF when loading a ROM in a VDir 2023-09-14 22:34:46 -07:00
Vicki Pfau 8520ad8f1f GBA I/O: Prefix GBA registers with GBA_REG_ 2023-09-07 00:12:19 -07:00
Vicki Pfau 4c03970ffe GBA I/O: More legibility improvements 2023-09-07 00:12:19 -07:00
Vicki Pfau bcb0073a4a GBA I/O: Improve legibility of long constants 2023-09-07 00:12:19 -07:00
Vicki Pfau 6ed7341b5a Debugger: Fix trace 2023-09-06 18:59:07 -07:00
Vicki Pfau 20931a89d9 GBA Core: Fix Flash 1M memory block descriptor 2023-09-02 00:43:43 -07:00
Vicki Pfau f2186f6a5c Vita: Fix camera setting not appearing (fixes #3012) 2023-08-28 13:29:03 -07:00
Vicki Pfau 85c9872cd6 GB I/O: Fix STAT writing IRQ trigger conditions (fixes #2501) 2023-08-25 23:02:18 -07:00
Vicki Pfau 0acc8c2af2 GBA Audio: Fix sample position issues when rate changes (fixes #3006) 2023-08-23 14:35:16 -07:00
Vicki Pfau 16fe12cc97 Qt: Remove shared_ptr copies in for loops 2023-08-18 22:14:40 -07:00