Henrik Rydgård
3e198c53b2
More include cleanup
2024-12-18 13:57:26 +01:00
Henrik Rydgård
20a17a0e8d
Reorganize DebugInterface etc a bit.
...
KernelThreadDebugInterface no longer has a useless copy of a MIPSDebugInterface.
2024-12-12 18:54:46 +01:00
Henrik Rydgård
0f97578a35
Replace a bad function
2024-12-03 20:33:12 +01:00
Henrik Rydgård
20c4649963
Fix step over, other stepping issues
2024-11-25 19:02:17 +01:00
Henrik Rydgård
3cba1135d5
Add basic breakpoint editing window. Need UI refinement
2024-11-25 00:23:28 +01:00
Henrik Rydgård
7992ff4627
Make CBreakpoints an object
2024-11-25 00:22:53 +01:00
Henrik Rydgård
d3e9398cb3
Split Core_EnableStepping into Core_Break and Core_Resume
2024-11-03 17:53:42 +01:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Herman Semenov
c20cb3f4be
Minor optimize methods std::string using param as char with simpler implementation
2024-04-10 17:57:05 +03:00
Herman Semenov
17ecee1715
Fixed return copies from functions and const ref params
2024-04-02 18:37:00 +03:00
Unknown W. Brackets
259734bd47
irjit: Fix likely delay slot breakpoints.
2023-09-03 12:27:10 -07:00
Unknown W. Brackets
c47e88529d
Debugger: Add memory check conditions.
...
Currently, this isn't exposed anywhere.
2023-04-12 01:07:56 -07:00
Unknown W. Brackets
0f5859510e
x86jit: Simplify memcheck handling.
...
Now it's mostly the same as the other jits.
2023-04-12 01:07:48 -07:00
Unknown W. Brackets
e73474e590
Debugger: Cache memcheck ranges.
...
Rebuilding these can be a bit slow each time, speed up jit compilation by
caching them.
2023-04-05 17:13:00 -07:00
Unknown W. Brackets
1d3f262eda
Debugger: Trigger mem breakpoints for mirrors.
2023-04-05 06:57:42 -07:00
Unknown W. Brackets
09f3c446b8
Debugger: Improve perf with write-only memchecks.
2023-04-05 06:36:40 -07:00
Henrik Rydgård
9e125eeba7
Remove NotifyUserMessage from Host
2023-03-25 10:32:09 +01:00
Henrik Rydgård
dda8635c89
Move three notifications out of Host
2023-03-21 13:37:19 +01:00
Unknown W. Brackets
76cf4dbf12
interp: Allow breakpoints in release mode.
2022-11-13 16:52:40 -08:00
Unknown W. Brackets
b0b03af50d
Debugger: Keep flag for any breakpoints.
...
Oops, only had these checks for memchecks before.
2022-11-13 16:01:13 -08:00
Unknown W. Brackets
825450a373
jit: Defer invalidations made while running.
...
Previously, invalidating icache could happen while running, which might
cause the CPU to return into outer space. This runs such invalidations
after letting the CPU exit.
It was easy to trigger this with the debugger: step using the GE debugger,
add a CPU memory breakpoint, then resume from the GE debugger.
However, cheats and the like could cause similar issues.
2022-10-09 21:26:13 -07:00
Unknown W. Brackets
2e2b222983
Debugger: Use detailed meminfo with breakpoints.
...
Usually there won't be any breakpoints, so it makes sense to enable detail
when they're added automatically.
2022-02-06 09:23:53 -08:00
Unknown W. Brackets
db2eddcf27
Debugger: Remove double debug window updates.
...
Core_EnableStepping() is already marking the debug windows for update,
there's no need to call SetDebugMode() again.
2021-12-12 11:24:03 -08:00
Unknown W. Brackets
b8ab7f39df
jit: Lock around changes to the jit pointer.
2021-11-28 10:04:22 -08:00
Unknown W. Brackets
2bd13c5d9d
Debugger: Track reason for entering stepping.
2021-10-23 16:56:15 -07:00
Unknown W. Brackets
ee71ef961f
Debugger: Keep char *s for memchecks.
2021-02-20 16:16:43 -08:00
Unknown W. Brackets
44a0c54538
Debugger: Log access reason on memory breakpoint.
2021-02-15 15:01:23 -08:00
Unknown W. Brackets
b92fab88b6
Debugger: Add formats to breakpoint logging.
2020-09-06 13:56:18 -07:00
Unknown W. Brackets
efee79fd71
Debugger: Don't break during startup.
2020-05-23 10:26:27 -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
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
b2cc4a0965
Debugger: Add memory breakpoint management.
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
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
Henrik Rydgård
635b2ada43
Remove a function that didn't make a lot of sense.
2017-01-26 09:50:16 +01: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
b998131581
Move the symbol map to the heap, deallocate it when no game is running.
2015-10-31 23:01:19 +01: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
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
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
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