Commit Graph

340 Commits

Author SHA1 Message Date
Henrik Rydgård
797cc41a1c Remove std::string from memblockinfo 2021-03-13 17:12:30 +01:00
Unknown W. Brackets
4178f09e57 Build: More consistently avoid _M_ defines.
We use PPSSPP_ARCH in several places already, this makes it more complete.
2021-03-02 21:49:21 -08:00
Unknown W. Brackets
13ec384dbe Build: Explicitly include ppsspp_config.h.
This adds it to all files that use it.  Not all our builds include the
file.
2021-03-02 21:04:03 -08:00
Unknown W. Brackets
ee71ef961f Debugger: Keep char *s for memchecks. 2021-02-20 16:16:43 -08:00
Unknown W. Brackets
07de2e5401 Debugger: Prevent thread errors on mem alloc info. 2021-02-15 15:01:23 -08:00
Unknown W. Brackets
8d58bbb634 Debugger: Correct merging fragmented blocks.
Oops, wasn't clearing them so was eventually maxing out fragmentation.
2021-02-15 15:01:23 -08:00
Unknown W. Brackets
a4ed6eb167 Debugger: Fix memory lookup in mirrors/uncached.
Oops, was crashing before since it's outside the index.
2021-02-15 15:01:23 -08:00
Unknown W. Brackets
d48bb7e105 Debugger: Show memory tag info in status bar. 2021-02-15 15:01:23 -08:00
Unknown W. Brackets
595a17e9bc Debugger: Ignore unmarked mem block info in find.
We start with a large unmarked region which we break up.  Ignore this.
2021-02-15 15:01:23 -08:00
Unknown W. Brackets
f95fdf3dfd Debugger: Optimize linear marking.
This is a very common case, so helps skip ahead.
2021-02-15 15:01:23 -08:00
Unknown W. Brackets
53b8b8721e Debugger: Track slabs by end, not size.
This is simpler, we're always comparing the end anyway.
2021-02-15 15:01:23 -08:00
Unknown W. Brackets
7ccb432a97 Debugger: Defer memory map calculations.
It's not so slow, but let's defer (could even use a thread.)
2021-02-15 15:01:23 -08:00
Unknown W. Brackets
a62aa4746b Debugger: Speed up lookup using an index. 2021-02-15 15:01:23 -08:00
Unknown W. Brackets
c128df5c75 Debugger: Track ticks of allocation/write/etc. 2021-02-15 15:01:23 -08:00
Unknown W. Brackets
10a77d29ab Debugger: Track texture usage too. 2021-02-15 15:01:23 -08:00
Unknown W. Brackets
ca2f7df94f Debugger: Track memory allocations and writes. 2021-02-15 15:01:23 -08:00
Unknown W. Brackets
44a0c54538 Debugger: Log access reason on memory breakpoint. 2021-02-15 15:01:23 -08:00
Unknown W. Brackets
f7740edc6d Debugger: Add more metadata for memory usage. 2021-02-15 15:01:21 -08:00
Unknown W. Brackets
f32f89dd90 Global: Remove some unused variables. 2021-02-15 11:59:45 -08:00
Unknown W. Brackets
9cfaac6d90 Debugger: Invalidate when using memory APIs. 2021-02-13 09:50:04 -08:00
Unknown W. Brackets
1148e6e4ba Debugger: Include all press states for convenience.
In case of a multi-button shortcut, which might be common for debugging.
2021-01-18 18:14:48 -08:00
Unknown W. Brackets
f97df5d153 Debugger: Broadcast ctrl input events.
This can be useful to trigger debugging functionality on button press.
2021-01-18 18:14:48 -08:00
Unknown W. Brackets
de3277c679 Debugger: Add API to trigger buttons. 2021-01-18 16:58:34 -08:00
Unknown W. Brackets
cd6be61d98 Common: Correct some formatting type mismatches. 2021-01-01 15:43:13 -08:00
Unknown W. Brackets
3325a27811 Debugger: Cleanup some syntax. 2020-12-28 11:13:54 -08:00
Unknown W. Brackets
b5a6693019 Debugger: Add helper to read strings.
This is common, so let's expose as an API.
2020-12-28 11:13:26 -08:00
Unknown W. Brackets
7e5052bc9e Debugger: Add API to read/write chunks of memory.
Using base64 at this point to keep JSON.
2020-12-28 10:30:58 -08:00
Unknown W. Brackets
f19d957c42 Debugger: Cleanup memory.read/write validation.
Required parameters fail automatically, better to keep the error
consistent.  This was sending two errors.

Additionally, don't allow it when no game is started yet.
2020-12-28 09:31:30 -08:00
Unknown W. Brackets
589d83d4da http: Prevent assert on bad websocket data. 2020-12-28 09:30:36 -08:00
Henrik Rydgård
4f43cff5ca
Move fileutil, net, image loaders, ui to Common. (#13506)
* Move and rename file_util/fd_util to Common/File/FileUtil and DirListing

Let's also move net while we're at it.

Move the ZIM/PNG loaders over to Common.

Move the UI framework into Common

iOS buildfix

* Buildfix

* Buildfixes

* Apple buildfix

* This typo again..

* UWP buildfix

* Fix build of PPSSPPQt, such as it is (it's not in good condition...)

* Guess what? Another buildfix.
2020-10-04 20:48:47 +02:00
Henrik Rydgård
989e353482 Common.h shouldn't include Log.h.
Buildfixes

More buildfixes. Move JSON code to common.
2020-10-04 11:42:14 +02:00
Henrik Rydgård
9e41fafd0d Move math and some file and data conversion files out from native to Common.
Buildfixing

Move some file util files

Buildfix

Move KeyMap.cpp/h to Core where they belong better.

libretro buildfix attempt

Move ini_file

More buildfixes
2020-10-04 09:12:46 +02:00
Henrik Rydgård
ff8148dd92 Move native/util, native/data and native/i18 to Common/Data.
Also move colorutil.cpp/h

linking build fix experiment

Delete a bunch of unused CMakeLists.txt files

CMakeLists.txt linking fix

Don't include NativeApp.h from any headers.

Android.mk buildfix

Half of the UWP fix

Buildfix

Minor project file cleanup

Buildfixes

Guess what? More buildfixes!
2020-10-04 07:28:29 +02:00
Henrik Rydgård
15382d5f94 Move threading utils from native to Common 2020-10-01 09:27:25 +02:00
Henrik Rydgård
ed88761ecc Merge ext/native/stringutil.cpp/h into Common/StringUtils.cpp/h. 2020-09-29 15:51:51 +02:00
Unknown W. Brackets
b92fab88b6 Debugger: Add formats to breakpoint logging. 2020-09-06 13:56:18 -07:00
Unknown W. Brackets
53d9c10b22 irjit: Switch to XXH3. 2020-08-27 20:40:55 -07:00
Henrik Rydgård
5d64fc5ff1 Switch to PPSSPP's assert functions (don't use the system's) 2020-08-16 10:01:10 +02:00
Henrik Rydgård
7115c28c29
Merge pull request #13287 from hrydgard/log-cleanup
Log system cleanup
2020-08-15 20:32:01 +02:00
Unknown W. Brackets
d35b413105 Debugger: Oops, fix comment typos. 2020-08-15 10:12:14 -07:00
Henrik Rydgård
b22083e7a6 Even more base/logging.h removal and fixes 2020-08-15 19:09:01 +02:00
Henrik Rydgård
5117ded378 Remove ELOG/ILOG/WLOG from the Android C++ code (mostly) 2020-08-15 19:08:39 +02:00
Unknown W. Brackets
a0f8e788f3 Global: Move string number parse to text/parsers.
It's not used as much as the other string utils.
2020-08-10 07:05:23 -07:00
parport0
fd62d30773 Debugger: Add memory.read_*, memory write_* 2020-07-26 01:18:16 +03:00
Unknown W. Brackets
efee79fd71 Debugger: Don't break during startup. 2020-05-23 10:26:27 -07:00
orbea
c8c7889f0f cmake: Improve building with the system libpng.
This also now requires at least libpng16 instead of libpng17.

v2: Require libpng17 on arm platforms.
v3: Fix the android and windows travis builds.
2020-03-22 18:43:51 -07:00
Unknown W. Brackets
f74e4289ee Debugger: reset step counter on game stop.
This way we ensure that a game reset will retrigger a stepping
notification.
2019-09-25 23:36:01 -07:00
Henrik Rydgård
9b30e5393d Buildfix (oops) 2019-08-06 16:09:39 +02:00
Henrik Rydgård
641bb72b40 Memchecks: Avoid taking the mutex lock if no memchecks active. Possible minor speedup in GoW and other block-copy-heavy games. 2019-08-06 15:33:11 +02:00
Henrik Rydgård
ab407a4a21 TWo warning fixes 2018-12-17 21:07:52 +01:00
pent0
4a53853f79 Update UWP port 2018-12-10 20:55:07 +07:00
Unknown W. Brackets
653129c528 Debugger: Add an event for GE dump recording. 2018-09-01 10:59:37 -07:00
Unknown W. Brackets
4ce2b64ef7 Debugger: Refactor to allow simpler broadcasting.
It's okay to mix a bit for simple ones, I think.
2018-09-01 10:15:22 -07:00
Henrik Rydgård
eddaf97938 Add submodules, namespace json to prepare for the addition of rapidjson (sigh) 2018-08-13 00:18:54 +02:00
Unknown W. Brackets
91a43c9d32 Debugger: Add force resume/kill thread API. 2018-07-07 18:58:37 -07:00
Unknown W. Brackets
2e6a52ed51 Debugger: Add backtrace API. 2018-07-07 18:36:47 -07:00
Unknown W. Brackets
8a7662adae Debugger: Add function symbol add/remove API. 2018-07-07 09:56:59 -07:00
Unknown W. Brackets
2133b18198 Debugger: Add APIs for texture and CLUT. 2018-07-07 09:56:59 -07:00
Unknown W. Brackets
8ae157e27f Debugger: Update to latest armips. 2018-06-30 14:18: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
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
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
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
Unknown W. Brackets
a4044fd6a0 Debugger: Reorganize state handling.
Looking like this will be needed for disasm caches, etc.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets
0a21063525 Debugger: Cleanup, add initial API docs. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets
3c458310ed Debugger: Allow setting regs to inf/nan. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets
be3b50dd74 Debugger: Improve JSON number parsing.
With gason, this becomes doable without overflow issues.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets
1f987bf1c1 Debugger: Initial register get/set APIs. 2018-06-08 06:59:16 -07:00
Unknown W. Brackets
123723286d Debugger: Synchronize error events using tickets. 2018-06-08 06:59:16 -07:00