Commit Graph

150 Commits

Author SHA1 Message Date
Lioncash 5ada887f94 DolphinWX: Get rid of wxGrid-based casts in the debugger.
This technically also fixes a memory leak in WatchView.cpp, because the table setting was done such that the grid wouldn't take ownership of the table, which means said table wouldn't be deleted in the grid's destructor.
2015-03-24 14:09:33 -04:00
skidau 12155ddee4 Added the ability to split the Debugger window horizontally and vertically via the Add Panes menu. 2015-03-07 12:33:33 +11:00
Lioncash d50c56c2e4 DolphinWX: Remove an unnecessary sizer from the watch window
The AUI manager already has the grid in place. Setting the sizer isn't needed.
2015-02-26 09:58:38 -05:00
skidau f71f376371 Merge pull request #2117 from lioncash/id
DolphinWX: Remove unnecessary control IDs
2015-02-26 12:49:07 +11:00
Ryan Houdek d6fcd85110 Merge pull request #2127 from lioncash/aui
DolphinWX: Relocate the address search into the code window
2015-02-25 10:36:07 -06:00
Lioncash ce4b73388a DolphinWX: Relocate the address search into the code window
It's only function is in this pane. Leaving it on the main application toolbar not only looks gross, but subverts what a user might think it applies to.
2015-02-25 00:16:17 -05:00
Lioncash 792e166f87 Merge pull request #2118 from lioncash/aui
DolphinWX: Use AUI in the code window.
2015-02-24 21:45:16 -05:00
Lioncash fd11f8fd29 DolphinWX: Use AUI in the code window.
Allows for resizing of the callstack, function call/callers windows etc.
First step in slightly improving the code window.
2015-02-24 21:31:28 -05:00
Lioncash 30c91a3003 DolphinWX: Remove unnecessary control IDs
These don't need to be specifically identified.
2015-02-24 08:31:52 -05:00
Lioncash d50e7562af DolphinWX: Make RAM watch strings translateable 2015-02-23 11:02:42 -05:00
skidau 57e9d59704 Merge pull request #1978 from lioncash/dspwind
DSPDebugWindow: Fix issue where the DSPLLE window would hang Dolphin on OSX
2015-02-23 12:57:27 +11:00
Lioncash a60d3306b1 PowerPC: Get rid of magic numbers related to interp/JIT initialization. 2015-02-19 12:16:53 -05:00
Lioncash 50f600c834 DolphinWX: Change Enable(false) calls into Disable() where possible 2015-02-14 16:00:15 -05:00
magumagu ac54c6a4e2 Make address translation respect the CPU translation mode.
The PowerPC CPU has bits in MSR (DR and IR) which control whether
addresses are translated. We should respect these instead of mixing
physical addresses and translated addresses into the same address space.

This is mostly mass-renaming calls to memory accesses APIs from places
which expect address translation to use a different version from those
which do not expect address translation.

This does very little on its own, but it's the first step to a correct BAT
implementation.
2015-02-11 13:56:22 -08:00
Lioncash 73b77f55ba DSPDebugWindow: Fix issue where the DSPLLE window would hang Dolphin on OSX 2015-01-28 14:01:11 -05:00
Ryan Houdek 95ac48d605 Improve the LLVM disassembler in the debug window.
There are a couple things in this PR.
Fixes a bug where if we hit an invalid instruction we would infinite loop.
Fixes an issue where on AArch64 it would show invalid instructions for all NEON instructions.
This was due to asimd and crc being optional extensions and LLVM not enabling them by default.
So we have to specify a CPU which has the feature. LLVM 3.6 will let us select by features instead of CPUs, but we don't have a release of that quite
yet.

If we are on an architecture that has a known instruction size, we will continue onward after hitting the invalid instruction. If we don't have a
known instruction size like on x86, we will instead just dump the rest of the block.
2015-01-18 15:31:40 -06:00
Stevoisiak 6ad5e54970 DolphinWX/Globals: Variable naming consistency 2014-12-20 21:43:11 -05:00
skidau 5313dd1b8c Merge pull request #1702 from CarlKenner/DebugSymbols
Fix many bugs with the Symbols menu (when run with -d argument).
2014-12-17 22:04:56 +11:00
CarlKenner 6e7eb52211 Rename menu items, stop using PanicAlertT, remove -d when running from visual studio.
I accidentally committed my addition of the -d option that I used for testing, now it's fixed.
2014-12-17 01:12:33 +10:30
CarlKenner dfd915eb53 Merge bad map file loading into the original function. 2014-12-17 01:11:58 +10:30
CarlKenner f95f43fdde Apparently c_str doesn't return a C str. 2014-12-17 01:11:52 +10:30
CarlKenner e246aaf419 Add "Load bad map file" option for map files on disc that don't quite match.
Currently it is very simple and naive, but filters out most of the bad matches.
2014-12-17 01:11:41 +10:30
CarlKenner f54d9e33c2 Fix many bugs with the Symbols menu (when run with -d argument).
The Symbols menu is now fully useable.
2014-12-17 01:11:36 +10:30
Lioncash 20fc2d5674 MemoryWindow: Remove wxSprintf call, use wxString::Format instead. 2014-12-12 10:29:07 -05:00
Lioncash 04ee0245e2 WatchView: Pass string by reference in SetWatchName 2014-11-15 14:06:12 -05:00
Lioncash ffc00b42e9 MemoryView: Fix a dealloc of a stack reference
stack allocation only works with the root menu. Any other children must be
heap allocated.

These however, will be freed by wxWidgets.
2014-11-13 20:10:40 -05:00
Lioncash 892bbdade6 DolphinWX: Eliminate some memory leaks
Since the menus aren't actually assigned a parent, they would not be freed by wx. Plus, these should have initially been constructed on the stack in the first place.
Technically any time someone right-clicked the game list they would be leaking memory.
2014-11-11 09:50:16 -05:00
Lioncash ac387031a4 DolphinWX: Kill off trivial event tables
Also fixes some of the wonky stuff in Main where we would fire an event to do post-init stuff which isn't necessary anymore.
2014-11-09 00:08:33 -05:00
Lioncash 210567a919 DolphinWX: Remove unnecessary forward declarations 2014-11-07 22:16:13 -05:00
Lioncash ee22d091a0 DolphinWX: Eliminate most usages of event tables in the debugger.
Moves things over to Bind.
2014-11-05 23:03:06 -05:00
Jasper St. Pierre dd0aadac97 MemoryWindow: Use p_pFakeVMEM, not the virtual mirror
They point to the same contents, so there's no reason to use the
mirror. This lets us make all the mirrors static.
2014-11-02 16:34:17 -08:00
skidau dbddc5f8e2 Fixed a warning in the add memcheck from Watch window 2014-10-31 11:26:17 +11:00
Rohit Nirmal 55f91ecba4 DolphinWX: Fix -Wsign-compare warnings. 2014-10-28 21:07:48 -05:00
Rohit Nirmal b70a75776e DolphinWX: Remove unused variable. 2014-10-28 21:02:47 -05:00
skidau 4570dd7eeb Fixed a crash that would occur if a new watch were added by entering a watch name.
Code style updates.
2014-10-26 23:23:45 +11:00
skidau 73dca1ca33 Added a new option to add memchecks from the Watch window.
Fixed watch labels from being truncated at the first whitespace.
2014-10-26 16:14:17 +11:00
skidau 8d2931cf18 Breakpoints and watches are now loaded and saved on start/stop.
Saved Breakpoints and watches per game in the game ini.
2014-10-26 14:56:03 +11:00
skidau b73130af77 Added Load/Save function for the Watch window.
Made the floating windows toolbars dockable.
Scaled down the breakpoint toolbar icons to 16x16.
2014-10-26 14:56:03 +11:00
skidau b34e220086 Added a "Delete watch" context menu to the Watch window.
Added a "View memory" command to the context menu.
2014-10-26 14:56:03 +11:00
skidau 290e1bed37 Disable block linking while debugger stepping or if there are breakpoints 2014-10-26 14:56:02 +11:00
skidau d0a3bb7650 Added "Add to watch" context menu items to the Memory and Register windows.
Added "View memory" context menu item to the Register window.
2014-10-26 14:56:02 +11:00
skidau 613cae613a Added a RAM Watch window to the debugger
Conflicts:
	Source/Core/Core/HW/Memmap.cpp
	Source/Core/Core/HW/Memmap.h
	Source/Core/DolphinWX/Debugger/CodeWindow.h
2014-10-26 14:56:02 +11:00
skidau df37649b9f Changed the step over routine to a single stepping version that steps until a blr is encountered.
Cleared out all temporary breakpoints on each step to prevent phantom breakpoints from stopping the debugger.
2014-10-26 14:56:02 +11:00
skidau 219a5078e8 Added a "Step Out" (aka "Step return") function to the debugger.
Conflicts:
	Source/Core/DolphinWX/Debugger/CodeWindow.h
2014-10-26 14:56:01 +11:00
Ryan Houdek cb10bef9a4 Implements LLVM based disassembler for the debugger.
This will work for all of our platforms, x86, ARMv7, and AArch64.
Main issue with this is that LLVM's cmake files aren't correctly finding the LLVM install.
Not sure if this is Ubuntu's issue or not, it may just work on other operating systems.

We could potentially improve this, you can pass in a specific CPU in to the LLVM disassembler. This would probably affect latency times that are
reported by LLVM's disassembly? This needs to be further investigated later.
2014-10-24 18:10:21 -05:00
Ryan Houdek ecf65d6f1f Cleans up the JIT block viewer in the WX UI.
This code was an absolute mess. It had allocated an arbitrarily large string buffer to hold instructions that were disassembled.

Strip out all of the nasty raw C string manipulation and replaces it with ostringstream usage.
Fixes an issue where if you didn't have a JIT recompiler running then Dolphin would instantly crash if you tried comparing PPC to x86 code.
Changed the disassembly of the host side code from being inline to the function to instead being in a class, this will be required when I add support
for ARMv7 and AArch64 to this window.
2014-10-21 12:27:59 -05:00
Lioncash 635408b686 Debugger: Fix class indentation 2014-10-18 22:55:23 -04:00
skidau fc774f0232 Merge pull request #1062 from zhuowei/master
Parse input as hex instead of decimal to match display values in the register view
2014-10-16 13:58:56 +11:00
comex 47faf7c4fd Merge branch 'Remove-MMU-Speed-Hack-option' of https://github.com/skidau/dolphin into skidau-Remove-MMU-Speed-Hack-option
Conflicts:
	Source/Core/Core/PowerPC/Jit64/JitAsm.cpp
2014-10-14 01:08:20 -04:00
skidau 01359a481b Merge pull request #1265 from skidau/debugger-registers-mmu
Added some of the MMU registers into the debugger Register window
2014-10-14 12:47:47 +11:00