Commit Graph

57 Commits

Author SHA1 Message Date
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
Unknown W. Brackets 561d0e5ef9 Check more ops for changing memory in debugger. 2014-06-19 00:48:33 -07:00
Unknown W. Brackets 199552bc1b Small merge fix. 2014-01-26 14:13:43 -08: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
Kingcom df40850617 Automatically pause core when changing breakpoints 2013-12-02 10:42:20 +01:00
Unknown W. Brackets da20bda729 Make memchecks ignore cached/uncached memory.
You usually want both.
2013-10-27 13:15:12 -07:00
Unknown W. Brackets 6b510c1c2f Allow step/run when two breakpoints trip.
If a memcheck and breakpoint were triggered on the same line, you wouldn't
be able to pass it, which is probably not what you'd expect.
2013-10-27 12:50:32 -07:00
Unknown W. Brackets b558189c37 Just invalidate blocks on ClearCacheAt().
This makes it safe to call from a jitted syscall, etc.
2013-09-01 00:32:43 -07:00
Kingcom 0eeebf5221 -display disabled breakpoints with separate icon
-toggling disabled breakpoints will enable them
-confirmation on toggling breakpoints with a custom condition
2013-07-10 10:56:03 +02:00
Unknown W. Brackets 77670876cd Fix memcheck range intersect check. 2013-07-06 12:08:34 -07:00
Unknown W. Brackets 540bd13222 Correctly match ranges in memchecks with ends. 2013-07-05 01:16:57 -07:00
Kingcom 2521a88207 Use ChangeBreakPointAddCond function 2013-07-02 17:43:34 +02:00
Kingcom c41b08f9e2 Add expression parser to breakpoints 2013-07-02 11:51:29 +02:00
Unknown W. Brackets f3e27ad9dd Ensure only the very next instruction is skipped. 2013-06-30 16:35:49 -07:00
Unknown W. Brackets 70cd8798be Actually enforce temp breakpoints having no cond. 2013-06-30 16:35:49 -07:00
Unknown W. Brackets 9d8bdee089 Buffer the breakpoints in UI to avoid overflows. 2013-06-30 16:35:48 -07:00
Unknown W. Brackets 9209a30d9b Add skeleton for conditional breakpoints. 2013-06-30 16:35:47 -07:00
Unknown W. Brackets 6bd4383a8a Give memchecks/breakpoints a consistent interface.
Removes the limit on max breakpoints, and makes everything use accessors
for both that look roughly the same.
2013-06-30 15:16:58 -07:00
Unknown W. Brackets 609f8d6340 Allow hitting Go on a breakpoint to continue.
Doesn't work for branches though, because of delay slots.
2013-06-29 11:23:24 -07:00
Kingcom d4214af710 Breakpoint list at the bottom of the disassembly window 2013-06-27 21:07:49 +02:00
Kingcom 827d13c34f -Fix step over for conditional branches
-don't redraw the disassembly window while waiting for a temporary breakpoint
2013-06-26 23:14:15 +02:00
Kingcom 26c4f57691 Shortcuts for the disassembly view, step over extended, fixes 2013-06-26 21:49:15 +02:00
Henrik Rydgard bb939321bc Fix symbol map loading, Qt fullscreen build 2013-03-29 22:56:57 +01:00
Unknown W. Brackets 81db6aaf92 Properly pause the emu on memcheck hit. 2013-03-09 02:41:50 -08:00
Unknown W. Brackets a926ef6776 Respect read/write only mem breakpoints in x86 jit. 2013-03-09 02:41:49 -08:00
Unknown W. Brackets 15ff927d4d And now the dynamic memory breakpoints in x86 jit.
And add notes that this is interpreter/HLE only for now.
2013-03-09 02:41:49 -08:00
Unknown W. Brackets de7ada1982 Fix some x64 type warnings. 2013-02-24 10:39:06 -08:00
Unknown W. Brackets 7c3c06fd23 Wait for the runloop to end in savestates/debug.
This way, even if the runloop hasn't checked coreState yet, we will wait.
2013-02-23 13:21:28 -08:00
Unknown W. Brackets 2164a7fdf9 Keep track of whether we're in the runloop or not. 2013-02-23 13:01:00 -08:00