summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger/debuggdbstub.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Added support for multiple features in the gdb stub, and added support for ↵ smf-2025-02-131-371/+546
| | | | PlayStation CPUs [smf]
* m6502: rename m65c02 to w65c02 as well hap2024-12-141-1/+1
|
* Added gdbstub support for MC68030 (#12906) kms12122024-10-251-0/+28
|
* Cleaned up the mess from #12610: Vas Crabb2024-08-271-6/+6
| | | | | | | * Command line options need to be documented. * Don't assume C strings returned as option values remain valid indefinitely. * Fixed wording for option description.
* gdbstub: add -debugger_host option (#12610) Ramiro Polla2024-08-081-3/+6
| | | | * This allows setting the host to 0.0.0.0 to accept connections from outside of localhost.
* New WORKING - sinclair/specnext.cpp: ZX Spectrum Next (known as tbblue) (#11918) holub2024-06-121-0/+1
| | | | | | | New Working Machines ----------------------- ZX Spectrum Next: TBBlue [holub]
* -debugger/debuggdbstub.cpp: Don't write data to socket in text mode. Vas Crabb2024-03-251-24/+20
| | | | -mr/dribling.cpp, heathkit/h17_fdc.cpp: Tidy up a little.
* gdbstub: fix checksum on Windows (#12067) BartmanAbyss2024-02-271-4/+7
| | | gdbstub: fix m68000 register names
* debugger/debuggdbstub.cpp: Added aliases for some MOS 6502-compatible CPUs. ↵ John Byrd2024-01-211-0/+5
| | | | | (#11953) Allows m6507, m6510, m65c02, m65ce02 and w65c02s to be debugged with GDB stub.
* sinclair/sprinter.cpp: Added Sprinter Sp2000 enhanced Spectrum clone. (#11018) holub2023-05-121-0/+1
| | | | | | | cpu/z80: Added support for variants with address translation and implemented Z84C015 chip selects. New working clones ------------------- Peters Plus, Ivan Mak Sprinter Sp2000
* dimemory: Add the target address space to translate, wrap the constants Olivier Galibert2023-03-181-6/+10
| | | | divtlb: Wrap the constants
* Various input and OSD refactoring: Vas Crabb2023-01-291-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd: Supply OSD object to modules on initialisation. Encapsulated some event handling in the OSD objects rather than leaving it in free functions. Put various stuff in namespaces. osd/modules/input: Enabled dinput, xinput and winhybrid modules for Windows SDL builds, and enabled background input for dinput and xinput (and by extension winhybrid) modules. Also fixed some COM and X11 resource leaks. osd/modules/input/input_sdl.cpp: Flipped SDL mouse button order to match Windows, and exposed vertical and horizontal scroll as Z and rZ axes. Moved SDL UI event handling out of input devices into OSD object. osd/modules/input_rawinput.cpp: Changed lightgun Z axis token so it's correctly identified as a relative axis (it maps to the scroll wheel equivalent). osd: Added an option to choose the network provider module. Mostly useful if you build with both TUN/TAP and pcap support included, or if you want to disable emulated networking completely. emu/input.cpp: Use a better strategy for assembling input code names that uses fewer temporary strings and doesn't require use of the non-Unicode-aware space trimming function (fixes MT08552). osd/modules/input_dinput.cpp: Improved polling logic. osd: Made various parts of the input code less dependent on concrete emu objects, and reduced inappropriately passing around the machine object. Made input modules less dependent on OSD implementation. Encapsulated some stuff and got rid of some vestigial newui and SDL1 support code. Cleaned up some interfaces. Moved OSD options classes to their own files. Prepare to remove main.h from emu.h - it's mostly used to get the application name, which the vast majority of emulated devices don't need to do.
* nios2: Preliminary execution core and gdb support AJR2022-11-191-0/+60
|
* debuggdbstub.cpp: Use swapendian_int* AJR2022-09-221-22/+6
|
* Renamed n2a03 to rp2a03 throughout source tree. (#10343) 0kmg2022-09-201-1/+1
|
* Debugger updates: Vas Crabb2022-09-201-2/+10
| | | | | | | | | | | | | | | | | | | | | | | Made closing the Qt debugger console window hide all debugger windows and run the emulated machine (debugger windows will be shown on next user break or breakpoint hit). This matches the behaviour of the Win32 and Cocoa debuggers. Made Qt debugger clean up its windows on exit rather than on subsequent starts. This fixes GitHub #9789. Made Qt debugger less reliant on global variables, and made code to save and load configuration a bit less convoluted. It still needs more refactoring on this front, but it's in slightly better shape now. Made Qt debugger a bit less crashy on invalid configuration. Still plenty of ways to crash it, but every little bit counts. Made Qt debugger do less comparisons on menu item names and object names - it might be possible to localise one day. Moved all the C++ debugger implementations into namespaces. They're using awfully generic class names, so it's about time.
* Debugger changes AJR2022-08-281-3/+3
| | | | | | | - Added exception points as a new class of "points" triggering on specific exception numbers, with a similar set of commands to breakpoints and registerpoints. - Removed the per-instruction callback hook from device_debug. Only one driver was using this (rmnimbus.cpp), and what it was doing with it could be done more cleanly with exception points. - Change the type of the action string parameter for "points"-creating methods and make some parameters optional for those. - Change trace file logging to use a std::ostream instead of FILE * to take better advantage of strformat.
* debuggdbstub.cpp: implement thread alive command. Sandro Ronco2022-08-211-0/+13
|
* debugger/debuggdbstub.cpp: Fixed failure to find CPU. Vas Crabb2022-08-211-1/+1
|
* ui/icorender.cpp: Revert initialisations that can hide real bugs. Vas Crabb2022-08-031-10/+2
| | | | | | | | | | | | | | | | | | MSVC isn't smart enough to detect that these can only be used after being assigned while clang and GCC can work it out fine. Initialising them to zero at declaration has the potential to mask real bugs if some code path tries to use them without assigning them. Code flow analysis (e.g. Coverity) or memory analysers (e.g. valgrind or Purify) won't pick up on the buggy path because the variable will technically be initialised. MSVC is problematic when it comes to warnings about uninitialised variables in general. Unfortunately MSVC has no option to selectively treat warnings as errors, unlike clang/GCC which have -Wno-error= which we use extensively. Until Microsoft addresses these issues, you'll have to use NOWERROR=1 when building with MSVC. Also, some cleanup.
* Changed gdbstub to no longer expect a CPU named ':maincpu' (#10170) npwoods2022-08-021-1/+13
| | | The logic was changed to find the first CPU, without any particular expectation about naming. This should address issue #10141
* Remove fileio.h from emu.h AJR2022-02-111-0/+1
|
* srcclean in preparation for MAME 0.235, and two small adjustments. Vas Crabb2021-09-261-1/+1
| | | | | | | * Reduce repeated directory walking in cleansrc target (substantially improves speed of building the target on Windows). * Disable a validity check using an MSVC language extension when using clang in MSVC ABI mode.
* debugger/debuggdbstub.cpp: Initialise m_readbuf_state on construction. (#8498) Alex Siryi2021-08-291-0/+1
|
* formats, osd, util: Started refactoring file I/O stuff. (#8456) Vas Crabb2021-08-221-2/+2
| | | | | | | | | Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic. Also replaced core_file's build-in zlib compression with a filter. unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename. Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums. Allow mounting TI-99 RPK from inside archives.
* Debugger-related feature removals and cleanup AJR2021-08-151-1/+2
| | | | | | | | - Remove the hotspot read tracker. This was never robustly implemented, but changes to the memory system made it much less useful, and the "speedup opportunities" which it aimed to determine are not very important from a current emulation standpoint. - Remove the CURSP/GENSP state symbol and the generic sp() getter. Stacking semantics vary too much between CPU architectures for this to be of much use. (A "SP" symbol has been added to a few CPU cores whose stack pointers were otherwise not being registered.) - Remove the cached pointer to device_state_interface and the state() fast accessor from device_t. Most users of device_state_interface either already had a pointer to the specific CPU device type or needed to check first for the presence of the interface. - Change the PC memory write tracker to use pcbase(), which works even when the instruction callback is masked out, instead of peeking at the PC history index. - Remove some obsolete watchpoint-related definitions from machine.h.
* -cpu/score: Added bittgl! opcode. Sandro Ronco2021-04-241-0/+67
| | | | -debuggdbstub.cpp: add score7 registers map.
* srcclean in preparation for branching release Vas Crabb2021-02-211-2/+2
|
* add m68000 to debuger gdbstub nabetse2021-02-151-0/+29
|
* Further additions of std::string_view AJR2021-01-011-1/+1
| | | | | | | - corefile.cpp, fileio.cpp: Change puts to take a std::string_view parameter - rendlay.cpp: Use std::string_view instead of bare pointers in various functions - vecstream.h: Add std::string_view conversion operator to obtain output buffer without needing to make it a C string with explicit null termination - xmlfile.cpp: Add get_attribute_string_ptr method that distinguishes between empty strings and absent attributes without falling back to C strings
* Add "n2a03" (6502 CPU clone) to gdbstub for NES, and swapped 6502 PC/SP to ↵ Lucien Murray-Pitts2020-11-071-1/+2
| | | | SP/PC (#7440)
* Add m6809 support for gdb remote debugger. Gustavo Del Dago2020-11-071-0/+21
|
* emu/debug: Removed more macros, added more const, make a couple more things ↵ Vas Crabb2020-10-121-1/+1
| | | | use smart pointers.
* Debugger expression and memory access overhaul AJR2020-05-251-10/+11
| | | | | | | | | | | | | - Memory references in expressions no longer default to the console's visible CPU if no device name was specified, except when entered through the console itself. Expressions in view windows now use the context of the currently selected device instead. - The pcatmem debug command and similar qt mouseover function now produce an error message if the initial address translation fails. Related internal changes (nw) - The debugger_cpu class no longer interprets memory accesses. The existing routines have been moved into symbol_table (which used to invoke them as callbacks), and reimplemented in most other places. Thecode duplication is a bit messy, but could be potentially improved in the future with new utility classes. - The cheat engine no longer needs to hook into the debugger_cpu class or instantiate a dummy instance of it. - The inclusion of debug/express.h within emu.h has been undone. Some debugging structures now need unique_ptr to wrap the resulting incomplete classes; hopefully the performance impact of this is negligible. Another direct consequence is that the breakpoint, watchpoint and registerpoint classes are no longer inside device_debug and have their own source file. - The breakpoint list is now a std::multimap, using the addresses as keys to hopefully expedite lookup. - The visible CPU pointer has been removed from the debugger_cpu class, being now considered a property of the console instead. - Many minor bits of code have been simplified.
* Revert "fixed some modernize-use-equals-default clang-tidy warnings (… (#6360) Oliver Stöneberg2020-04-081-1/+1
| | | | | | | * Revert "fixed some modernize-use-equals-default clang-tidy warnings (nw)" This reverts commit 54486ab9 * fixed merge error
* fixed some modernize-use-equals-default clang-tidy warnings (nw) (#6237) Oliver Stöneberg2020-01-301-1/+1
|
* fixed some clang-tidy warnings (nw) (#6236) Oliver Stöneberg2020-01-301-14/+14
| | | | | | | | | | | | | | | | * fixed some modernize-redundant-void-arg clang-tidy warnings (nw) * fixed some modernize-use-bool-literals clang-tidy warnings (nw) * fixed some modernize-use-emplace clang-tidy warnings (nw) * fixed some performance-move-const-arg clang-tidy warnings (nw) * fixed some readability-redundant-control-flow clang-tidy warnings (nw) * fixed some readability-redundant-string-cstr clang-tidy warnings (nw) * fixed some performance-unnecessary-value-param clang-tidy warnings (nw)
* fixed some clang-tidy warnings (nw) (#6197) Oliver Stöneberg2020-01-221-1/+1
| | | | | | | | | | | | | | * fixed some bugprone-throw-keyword-missing clang-tidy warnings (nw) * fixed some modernize-use-nullptr clang-tidy warnings (nw) * fixed some readability-delete-null-pointer clang-tidy warnings (nw) * fixed some performance-faster-string-find clang-tidy warnings (nw) * fixed some performance-for-range-copy clang-tidy warnings (nw) * fixed some readability-redundant-string-cstr clang-tidy warnings (nw)
* Make osd_printf_* use util/strformat semantics. Vas Crabb2019-09-261-2/+2
| | | | | | | | | | | | | | | | | (nw) This has been a long time coming but it's here at last. It should be easier now that logerror, popmessage and osd_printf_* behave like string_format and stream_format. Remember the differences from printf: * Any object with a stream out operator works with %s * %d, %i, %o, %x, %X, etc. work out the size by magic * No sign extending promotion to int for short/char * No widening/narrowing conversions for characters/strings * Same rules on all platforms, insulated from C runtime library * No format warnings from compiler * Assert in debug builds if number of arguments doesn't match format (nw) Also removed a pile of redundant c_str and string_format, and some workarounds for not being able to portably format 64-bit integers or long long.
* Use std::forward_list for breakpoint and registerpoint lists (nw) AJR2019-09-101-7/+3
|
* gdbstub: more improvements (#5569) Ramiro Polla2019-08-311-29/+155
| | | | | | | | | | | | | | | | | | | | | | | | | * gdbstub: small cleanup and clarification Old GDBs expected the regnum values for some registers to be hardcoded. This is no longer the case with GDB clients that support target.xml. We expect the GDB client to support target.xml (and won't support the 'g', 'G', 'p', and 'P' commands unless it is sent). * gdbstub: add mips (tested with indy_4610) * gdbstub: add m68k (tested with macii) * gdbstub: add support for executing MAME debugger commands from the GDB client It's now possible to send MAME debugger commands, such as "cheatinit", "snap", etc... Try not to use "bpset" and such commands, they may confuse the GDB client. Also don't use commands such as "step" and "go", they will definitely confuse the GDB client. * gdbstub: fatalerror() when socket can't be opened
* srcclean (nw) Vas Crabb2019-08-251-23/+23
| | | | I'm assuming atronic.cpp was supposed to be Windows-1252 with Euro currency symbol encoding. Everyone please use UTF-8 for source files.
* debuggdbstub: uncomment parameters (nw) Patrick Mackinlay2019-08-151-3/+3
| | | | These unused parameters don't cause any warnings, so I suggest they shouldn't be commented; make the implementations match their declarations.
* gdbstub: add z80 and m6502 Ramiro Polla2019-08-121-0/+53
| | | | | | | | | | | | z80 was tested with pacman and m6502 was tested with apple2e. Side-effects must be disabled before reading memory, otherwise apple2e starts failing after the first read to 0xc080. Since GDB doesn't support those processors, I made up the features name with "mame.<cpuname>". I also had to choose the registers to export in the target.xml file, and since I don't have any experience with these processors I don't know if I made the best choice.
* gdbstub: added new GDB stub debugger (#5456) Ramiro Polla2019-08-111-0/+1133
* gdbstub: added new GDB stub debugger This debugger can be used to connect to an external debugger that communicates using the GDB Remote Serial Protocol, such as GDB itself or many other GDB frontends. Currently i386 (ct486), arm7 (gba), and ppc (pmac6100) are supported. * gdbstub: enable GDB stub debugger in mac and windows builds