Commit graph

9032 commits

Author SHA1 Message Date
Henrik Rydgård
da5f0f7f2b
Merge pull request #11186 from unknownbrackets/debugger
Debugger: Add APIs to retrieve render image
2018-06-17 21:53:38 +02:00
Unknown W. Brackets
6592c6222a http: Check fread() result to avoid warning.
This will cause the length not to match the result if it happens, but the
client should interpret that as a server error.

Also a similar error in headless.
2018-06-17 11:02:26 -07:00
Unknown W. Brackets
f0694ba115 Debugger: Add some docs for new APIs. 2018-06-16 15:42:42 -07:00
Unknown W. Brackets
e6917cccf6 Debugger: Add APIs to retrieve render image. 2018-06-16 15:33:02 -07:00
Unknown W. Brackets
a0608d7fc5 Debugger: Allow GPU actions while stepping.
This allows pulling the display/target while paused.  It may also allow
other actions that work outside a display list.
2018-06-16 13:57:45 -07:00
Henrik Rydgård
a9eb786811
Merge pull request #11181 from unknownbrackets/savestate
SaveState: Show warning on old / long use state
2018-06-16 17:45:58 +02:00
Unknown W. Brackets
76ff2adda9 SaveState: Show only after 4 hours.
This is 4 hours of the virtual PSP running the game continuously, perhaps
from multiple PPSSPP play sessions using save states.
2018-06-16 08:06:35 -07:00
Unknown W. Brackets
16b11138b4 SaveState: Use latest version if initial missing.
This may be useful for debugging or if we decide on a buffer between
versions.
2018-06-14 18:29:55 -07:00
Unknown W. Brackets
006ef96b19 SaveState: Add a setting to ignore warnings.
In case you like to collect old and obscure bugs - everyone's got a hobby.
2018-06-14 18:29:55 -07:00
Unknown W. Brackets
a5efb85ab7 SaveState: Show warning on old / long use state.
Using save states instead of in game saves causes bugs in games, and
preserves bugs from bad settings and old PPSSPP versions.

This tells users when they might be affected.
2018-06-14 18:29:55 -07:00
Henrik Rydgård
e03aeba75e
Merge pull request #11171 from unknownbrackets/debugger
Fix some issues with GE dumps
2018-06-14 10:07:21 +02:00
Jan Beich
7a7c655615 MediaEngine: adjust for AVStream.codec deprecation 2018-06-13 11:52:18 +00:00
Unknown W. Brackets
0ed2c03350 GE Debugger: Prevent hang on shutdown.
Since we're blocking the Emu thread, we can't use a hook from the Emu
thread to wake up.

The change to lifecycle callbacks caused this.
2018-06-11 14:54:42 -07:00
Unknown W. Brackets
9d96e6579c
Merge pull request #10909 from unknownbrackets/debugger
WebSocket based debugger interface
2018-06-09 15:37:06 -04:00
Unknown W. Brackets
cc1fa20afb Qt: Use Roboto Condensed like on other platforms.
May improve font fallback issues in #7581.
2018-06-09 11:36:00 -07:00
Unknown W. Brackets
085bcde865 Debugger: Ignore invalid branches.
These happen on bytes that are not actually code.
2018-06-08 06:59:18 -07:00
Unknown W. Brackets
25085fa394 Debugger: Add func name and data symbol to disasm. 2018-06-08 06:59:18 -07:00
Unknown W. Brackets
b114656321 Debugger: Allow conditions on threadID/moduleID.
And now step over/out/into can tie to the correct thread.
2018-06-08 06:59:18 -07:00
Unknown W. Brackets
a863ce79ad Debugger: Allow stepping based on thread. 2018-06-08 06:59:18 -07:00
Unknown W. Brackets
b828497fe2 Debugger: Avoid some lock ordering issues.
Ideally get rid of the memory lock...
2018-06-08 06:59:18 -07:00
Unknown W. Brackets
5bfba9b284 Debugger: Add HLE API funcs.
Lumping function symbols in here too, they're pretty related...
2018-06-08 06:59:18 -07:00
Unknown W. Brackets
5670fc03ae Debugger: Add debug interfaces for threads.
This way we can switch context.
2018-06-08 06:59:18 -07:00
Unknown W. Brackets
3193772e78 Debugger: Use a lock for memory reallocs.
Simpler this way, no need to remember to lock memory.
2018-06-08 06:59:18 -07:00
Unknown W. Brackets
8598fc9912 Debugger: Add some missing memory locks.
We can restart memory when loading save states, so we need this even while
we've got startup/shutdown locked.
2018-06-08 06:59:18 -07:00
Unknown W. Brackets
b2cc4a0965 Debugger: Add memory breakpoint management. 2018-06-08 06:59:18 -07:00
Unknown W. Brackets
29d93c56c7 Debugger: Initial breakpoint APIs. 2018-06-08 06:59:18 -07:00
Unknown W. Brackets
18dcea4cdc Debugger: Disasm search API. 2018-06-08 06:59:18 -07:00
Unknown W. Brackets
22940f0393 Debugger: Avoid asserts in disassembly. 2018-06-08 06:59:18 -07:00
Unknown W. Brackets
6cf24b34fc Debugger: Add thread safety to breakpoints. 2018-06-08 06:59:18 -07:00
Unknown W. Brackets
5b132c904a Debugger: Fix resume not skipping breakpoints. 2018-06-08 06:59:18 -07:00
Unknown W. Brackets
65feb5f09c Debugger: Include assembler API. 2018-06-08 06:59:18 -07:00
Unknown W. Brackets
2f3b6c19d0 Debugger: Poll frequently after stepping.
This will make us listen for events slightly less often, so we don't want
to sustain it.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets
fc8ad3b47b json: Optimize writing a bit.
This improves the responsiveness of certain APIs.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets
ccea863f00 Debugger: Use fragments for long chunks.
Gets it on the wire faster.  More importantly, this allows us to usually
avoid rampant memory allocation even for large responses.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets
e746a2d106 Debugger: Add stepping to WebSocket API. 2018-06-08 06:59:17 -07:00
Unknown W. Brackets
f66738eac7 Debugger: Add cpu.evaluate method.
Probably useful for a bunch of things, really.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets
8a0e02e223 Debugger: Prevent crazy disasm range.
Also add some documentation.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets
1c107308cd Debugger: Add additional encoding/symbol info. 2018-06-08 06:59:17 -07:00
Unknown W. Brackets
944948a5f4 Debugger: Initial disasm API. 2018-06-08 06:59:17 -07:00
Unknown W. Brackets
4da97b3f9e Debugger: Lock during startup/shutdown.
Otherwise things can get freed while we're trying to inspect them.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets
b756d92139 Debugger: Add version event for future proofing.
Game isn't precisely right, but it's close enough.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets
05c560b52d Debugger: Include PC and ticks in stepping events. 2018-06-08 06:59:17 -07:00
Unknown W. Brackets
3dac5f2103 Debugger: Add current game info. 2018-06-08 06:59:17 -07:00
Unknown W. Brackets
77131e737b Log: Use a separate field for the timestamp.
Better than parsing it since we already have the header separate.  Simpler
too.
2018-06-08 06:59:17 -07:00
Unknown W. Brackets
6bec3db3fb Debugger: Disconnect on shutdown/disable.
Although, it could be made safe to keep them up when restarting with
debugging still enabled.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets
f81fa27abe Debugger: Add config for remote debugger on start. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets
f02bd4daff Debugger: Use a counter when entering stepping.
This allows us to poll coreState and know if a new stepping needs to be
sent.  This is useful to allow e.g. regs to show changes per step.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets
d67a1d4a3a Debugger: Allow pinging current status.
Helps especially when reconnecting.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets
c44d8dbe2d Debugger: Name the WebSocket debugger thread. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets
a341994622 Debugger: Add cpu.stepping and cpu.resume. 2018-06-08 06:59:16 -07:00