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
Unknown W. Brackets
b37d59e8fa
Debugger: Organize WebSocket event handling.
...
Just a starting point to organize it. Trying to keep it simple.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets
c2b9b5a9e8
Debugger: Serve a simple log listener WebSocket.
...
Planning to add more functionality to it, and sharing the reporting port
is possibly not ideal - although it would make discovery easier.
2018-06-08 06:59:16 -07:00
Unknown W. Brackets
eb4b59b530
arm64jit: Enable breakpoints.
...
Memory breakpoints not yet really tested.
2018-06-06 17:31:56 -07:00
Unknown W. Brackets
3c8cc5ab64
Debugger: Fix initialization issues.
...
Sometimes temp breakpoints had log set by accident.
2018-06-06 17:31:56 -07:00
Unknown W. Brackets
0f84c2e995
Debugger: Consistently handle invalid addresses.
2018-06-06 05:58:49 -07:00
Unknown W. Brackets
0b8359fd77
Debugger: Add mutexing to disassembly manager.
...
It was crashing when accessing from another thread.
If in the future we go down to only the remote debugger, we could
potentially remove this.
2018-06-06 05:58:49 -07:00
Unknown W. Brackets
89f89ec749
Debugger: Defer active symbol updates.
...
This makes it faster when loading many modules/functions/etc., for example
when using the freeze debug feature.
2017-12-26 18:11:22 -08:00
Henrik Rydgård
21fe73c8e7
Switch strncpy to truncate_cpy in a bunch of places.
2017-05-26 19:04:08 +02:00
Unknown W. Brackets
7613fd97aa
Windows: Fix minor leak in disassembly UI.
2017-04-27 20:02:49 -07:00
Henrik Rydgard
26a2d42731
Big mutex overhaul - remove our custom ones, make them non-recursive where possible
2017-02-28 11:40:29 +01:00
Henrik Rydgard
03dab0fdbd
More UWP prep
2017-02-25 09:57:22 +01:00
Henrik Rydgård
635b2ada43
Remove a function that didn't make a lot of sense.
2017-01-26 09:50:16 +01:00
latot
7047ad2271
fix sscanf types
2016-12-02 22:46:52 -03:00
Unknown W. Brackets
747a6ec524
Debugger: Add custom log expressions.
...
Similar to Visual Studio, just use {a1} to log the value of register a1.
Supports anything the expression parser supports.
2016-08-04 13:29:22 -07:00
Unknown W. Brackets
e4ca124b0e
Debugger: Add custom breakpoint log message.
2016-08-04 13:07:56 -07:00
Unknown W. Brackets
9972e5b10a
Debugger: Allow logging on CPU breakpoints.
2016-08-04 12:39:29 -07:00
Unknown W. Brackets
a9ad0cd471
Debugger: Make breakpoint actions more generic.
2016-08-04 12:02:44 -07:00
Unknown W. Brackets
4578c3cb54
jit-ir: Implement memory breakpoints.
...
These generally work, but likely delay slots will make downcount slightly
off, and won't resume when you hit run again without manually stepping
through them.
2016-07-02 16:38:30 -07:00
Henrik Rydgard
8b450c8034
Merge NativeJit.cpp/h with JitCommon.cpp/h
2016-05-01 11:39:59 +02:00
Henrik Rydgard
a5be0976bd
Remove preprocessor hacks to choose JIT implementation.
...
Opens up for having multiple JIT implementations available at runtime,
which could be use for experimenting with new JIT compiler types or for
unit testing one JIT on another architecture.
Very few of the newly virtual calls are on any sort of critical path so
hopefully there will not be a performance loss.
2016-05-01 11:39:53 +02:00
Henrik Rydgard
3ba911bf07
Replace some calls to fopen with File::OpenCFile (utf8).
2016-01-17 15:59:20 +01:00
Unknown W. Brackets
86127b3d0d
Update armips to latest version.
...
The new version has some speed and other improvements.
2015-12-26 20:30:35 -08:00
Henrik Rydgard
b998131581
Move the symbol map to the heap, deallocate it when no game is running.
2015-10-31 23:01:19 +01:00
Lioncash
b1901fbad2
Core: Remove unimplemented class function declarations
2015-10-18 10:55:11 -04:00
Unknown W. Brackets
936ccbf18a
Fix symbolmap loading issue on MSVC 2015.
2015-09-07 09:24:15 -07:00
Unknown W. Brackets
e0f85a9c6b
Native merge part 1: skip native/ in includes.
2015-09-06 12:19:33 -07:00
Unknown W. Brackets
9cb1151b67
x86jit: Disable replacements w/ breakpoints inside.
...
This does alter graphics (memcpys won't fire anymore), but it also means
breakpoints work which is nice.
2015-01-18 21:26:37 -08:00
Unknown W. Brackets
6382d794a7
Fix a debugger leak in an error case.
2015-01-17 18:54:01 -08:00
Unknown W. Brackets
a191b9ac7f
Fix a potentially not null terminated string.
2015-01-17 18:42:59 -08:00
Unknown W. Brackets
ff59cd6e11
Fix a potential debug buffer overrun.
2015-01-17 18:21:03 -08:00
Henrik Rydgard
8ad1ea4c84
Split JitCommon.h so that you can include it without getting the "NativeJit" definition
2014-12-13 21:13:28 +01:00
Lioncash
cac632424c
Core: Add missing override specifiers
2014-12-08 15:20:31 -05:00
Unknown W. Brackets
58ff826b73
Cleanup to link assembler on arm unittest builds.
2014-12-07 15:41:11 -08:00
Kingcom
f6cedcbff5
Replace assembler with a submodule
2014-11-23 21:09:40 +01:00
Unknown W. Brackets
2b16b5b79b
Use XXH64 on 64-bit systems.
...
I'm not able to reproduce any real performance difference, but I know
there are some games which do more hashing and it may help there.
2014-10-26 17:49:24 -07:00
Henrik Rydgård
3b1476c8ec
MIPSTables: Annotate fp and hi/lo in/out more accurately than just "other"
...
Some typo fixes
2014-10-12 19:46:50 +02:00
Henrik Rydgard
f84ebf6bff
sprintf->snprintf, fix some too short buffers
2014-09-14 00:14:11 +02:00
Henrik Rydgard
1d7642fa48
Remove most mentions of the "_XBOX" define
2014-08-24 14:21:35 +02:00
Unknown W. Brackets
cd413ab659
Correctly break when disabled and temp bps overlap.
...
Only affects debugging, not usual gameplay. Fixes #6700 .
2014-08-08 08:53:44 -07:00
Unknown W. Brackets
55403e42c2
Introduce a memory shutdown lock.
...
This allows the debugger to access memory in a safe way that should never
crash.
2014-07-19 23:30:19 -07:00
Sacha
cd20288d99
Fix some compiler warnings.
2014-07-17 00:49:58 +10:00
Kingcom
dc80123b93
Add options to import/export .sym files from the menu
2014-06-30 00:02:22 +02:00
Unknown W. Brackets
2f6b63385d
On breakpoint change, don't wait for core too long.
...
Fixes #6366 .
2014-06-19 01:16:24 -07:00
Unknown W. Brackets
9efbc2694b
Add an invalidate all method to the jit.
2014-06-19 01:13:06 -07:00
Unknown W. Brackets
561d0e5ef9
Check more ops for changing memory in debugger.
2014-06-19 00:48:33 -07:00
Unknown W. Brackets
38dde1f6b5
Fix a debugger crash on shutdown.
2014-06-08 16:35:39 -07:00
Unknown W. Brackets
c3a6092e26
Upgrade symbolmaps with module address info.
...
This fixes some issues with jit replacement only if you had a map laying
around.
2014-05-04 01:24:18 -07:00
Henrik Rydgård
0b3f1e4a5b
Merge pull request #5621 from chinhodado/patch-2
...
Avoid using an invalidated iterator
2014-03-22 16:17:13 +01:00
Unknown W. Brackets
06b9e731e8
Linux buildfix.
...
Arg, stupid memcmp/sprintf...
2014-03-15 11:56:52 -07:00
Unknown W. Brackets
996fa39684
Reduce some unnecessary includes in Core/.
2014-03-15 10:41:07 -07:00
Henrik Rydgard
c80510fb3b
MemMap should not be included in MIPS.h.
2014-03-15 10:45:39 +01:00
chinhodado
481250931c
Avoid using an invalidated iterator
2014-03-07 16:43:02 -05:00
Henrik Rydgård
374e12afc3
Merge pull request #5590 from unknownbrackets/xbox
...
Merge more parts of #4716
2014-03-03 13:37:21 +07:00
Ced2911
d82911de58
[Xbox] fixes
2014-03-02 11:27:20 -08:00
Ced2911
cc9f238d36
[xbox] 360 support for Core
2014-03-02 11:22:02 -08:00
Unknown W. Brackets
e3506ead69
Clear the symbol map between each test.
...
This way we could, for example, test function replacement properly.
Actually slows down tests because it spends more time correctly
determining the function boundaries.
2014-03-02 10:20:40 -08:00
Unknown W. Brackets
d22793e257
Avoid a dangerous cast in LoadSymbolMap().
...
Not sure if we can have any safety with an int cast like that...
2014-02-15 16:23:18 -08:00
Unknown W. Brackets
8948990871
Optimize searching for existing symbols.
...
Checking every time is slow, we should just skip by the address. Some is
just the locking overhead.
2014-02-14 22:26:35 -08:00
Unknown W. Brackets
04776c8125
Small optimization: avoid fallback if possible.
...
Speeds up symbol map loading a little bit (when inserting new items.)
2014-02-14 22:07:39 -08:00
Unknown W. Brackets
26b4335637
Optimize symbol map in debug mode a bit more.
...
Avoid UpdateActiveSymbols().
2014-02-14 21:49:20 -08:00
Unknown W. Brackets
d279dcd454
Fix renaming a function from disassembly.
2014-02-11 07:45:13 -08:00
Henrik Rydgård
0f4ccf52f4
Update README. Avoid recursing the symbolmap lock when we don't need to.
2014-02-11 14:21:40 +01:00
Henrik Rydgård
b1d6eefb8a
Call UpdateActiveSymbols only once from MIPSAnalyst instead of for every recognized function.
...
Reduces startup slowdown when using a function signature file drastically.
2014-02-11 11:21:56 +01:00
Henrik Rydgard
aae787168e
Did not mean to commit this line.
2014-02-09 23:48:31 +01:00
Henrik Rydgard
ca500b0bf4
Add setting for Kitkat Immersive Mode on Android.
2014-02-09 23:16:08 +01:00
Kingcom
880be6d41d
Module list in Windows debugger
2014-01-27 00:35:16 +01:00
Unknown W. Brackets
199552bc1b
Small merge fix.
2014-01-26 14:13:43 -08:00
Henrik Rydgård
efd44a6933
Merge branch 'debugger2' of https://github.com/unknownbrackets/ppsspp into unknownbrackets-debugger2
...
Conflicts:
Core/Debugger/Breakpoints.cpp
2014-01-26 23:10:37 +01:00
Unknown W. Brackets
fe2b62c27d
Make the "on change" checkbox for memchecks work.
...
But, for now, only on sw and similar instructions, the rest don't work
yet and just always break.
2014-01-26 11:57:39 -08:00
Unknown W. Brackets
6b06494940
Oops, missed a c_str() conversion.
2014-01-26 01:56:28 -08:00
Unknown W. Brackets
983e195dd2
Fix possible module index overlap.
2014-01-26 00:02:01 -08:00
Unknown W. Brackets
76afb2a8d5
Avoid returning points from the symbol map.
...
Now that it uses a lookup, this is even more dangerous. But, the maps
could be reordered while it's trying to print the pointer and cause that
data to become invalid.
This should be safe from race conditions.
2014-01-25 21:40:23 -08:00
Unknown W. Brackets
b1af4f4911
Write symbol maps as ".ppmap" instead.
...
This has some benefits:
* They are smaller, but zgrep/zcat etc. still work.
* Since the format is slightly different, bisecting won't overwrite.
* It avoids conflicts with .map file associations.
2014-01-25 21:12:16 -08:00
Unknown W. Brackets
a2fa53d5c4
Track modules in the symbol map.
...
This makes it so things don't overlap confusingly, and also so that we can
replace funcs more correctly and sanely.
This is unfortunately a bunch more complicated...
2014-01-25 20:59:53 -08:00
Unknown W. Brackets
4de20258eb
Don't bother writing an empty symbol map.
...
For example, when accidentally opening an invalid file.
2014-01-19 21:34:16 -08:00
Henrik Rydgård
e5e17fbc6e
More include cleanup. Hoping for very slightly faster compile times..
2013-12-30 10:49:05 +01:00
Henrik Rydgård
00c32ddadb
Mostly get rid of including "Globals.h"
2013-12-30 10:17:11 +01:00
Unknown W. Brackets
db77dcd149
Fix some includes on Windows/etc.
2013-12-29 15:59:36 -08:00
Henrik Rydgård
be74da8f3c
More include cleanup, hopefully buildfix Symbian
2013-12-30 00:23:04 +01:00
Henrik Rydgård
ce378b231f
Delete CPU.cpp/h , cleanup
2013-12-30 00:11:29 +01:00
Henrik Rydgard
2140892074
Initial preparations for ability to replace game functions with custom implementations.
...
Also auto-saves hashmap additions and reapplies the hashmap on function
rename so that if you rename a function that exists in several copies
they will all be labelled.
Note that actual function replacement is not activated yet.
2013-12-17 12:27:20 +01:00
Unknown W. Brackets
12713a44a1
Attempt to prevent shutdown crash in debugger.
2013-12-14 14:56:04 -08:00
Henrik Rydgård
cfbd1b07e8
Some code reformatting in SymbolMap
2013-12-02 15:30:03 +01:00
Henrik Rydgård
16369dde47
Protect against a buffer overflow in symbolmap
2013-12-02 15:29:35 +01:00
pal1000
cfcfb20622
Warning fix in DisassemblyManager.cpp (Visual Studio 2013)
2013-12-02 12:39:01 +02:00
Henrik Rydgård
1c04e923f6
Merge pull request #4706 from Kingcom/Debugger
...
Automatically pause core when changing breakpoints
2013-12-02 01:51:15 -08:00
Kingcom
df40850617
Automatically pause core when changing breakpoints
2013-12-02 10:42:20 +01:00
Unknown W. Brackets
7de0b28961
Fix an unhandled case value warning.
2013-12-01 11:21:17 -08:00
Unknown W. Brackets
dd2e996838
Fix some type comparison warnings.
2013-12-01 11:21:16 -08:00
Henrik Rydgård
1296aad6c7
Merge pull request #4675 from Kingcom/Debugger
...
Small debugger fixes and enhancements
2013-11-29 08:30:08 -08:00
Kingcom
85abd37ed1
Small debugger fixes and enhancements
2013-11-29 17:21:48 +01:00
Unknown W. Brackets
79322103f2
Optimize DisassemblyFunction::getLineNum() a bit.
...
Improves scrolling performance in some cases in the debugger.
2013-11-28 23:48:12 -08:00
Henrik Rydgård
620bb14d6b
Merge pull request #4662 from Kingcom/Debugger
...
Disassembler fix
2013-11-28 02:04:13 -08:00
Kingcom
cca750aab5
Fix invalid memory access on start, remove combo box code from symbol map
2013-11-28 10:49:02 +01:00
Henrik Rydgård
f8227132f9
Merge pull request #4657 from Kingcom/Debugger
...
Create data directives in disassembler
2013-11-28 01:20:21 -08:00
Unknown W. Brackets
bb41e015b9
Truncate func names when reading symbol maps.
...
Otherwise they'll get trashed.
2013-11-27 22:11:18 -08:00
Kingcom
577a46be09
Remove useless comment
2013-11-28 00:48:05 +01:00
Kingcom
561379f5c2
Create data directives in disassembler
2013-11-28 00:33:21 +01:00
Kingcom
eeb9667726
Fix QT build (hopefully)
2013-11-27 15:06:41 +01:00
Kingcom
5844d0107b
Rewrite SymbolTable
2013-11-27 13:33:30 +01:00