aboutsummaryrefslogtreecommitdiff
path: root/src/core/debugger
Commit message (Collapse)AuthorAgeFilesLines
* debugger: monitor handles lists each handle's type and service event nameTakoroka6 days1-1/+22
| | | | gdbrsp.py gains raw and monitor commands.
* [cmake] Fix some macOS compilation errors (#4350)lizzie2026-09-051-2/+2
| | | | | | | | | | | | | | | | | | | | Don't compile GLSL/GLASM backends without OpenGL enabled. These codepaths are unused on non-OpenGL platforms. Fixes other miscellaneous errors that pop up on Clang 23 as well. Signed-off-by: Lizzie lizzie@eden-emu.dev Signed-off-by: crueter crueter@eden-emu.dev - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Co-authored-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4350 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* [gdb] fix conn state to use same pipe (instead of a copy) (#4339)xbzk2026-09-021-1/+1
| | | | | | | | | | | | | | | | | - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- I was trying to use GDB stub to investigate MHR and it was not connecting. Error was suggesting it was not available for connection although i saw it booting on logs. Debugged and noticed signal_pipe_ was not the correct one, and followed the example of client_socket_. GDB stub is now working, on windows, at least. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4339 Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [video_core, hle] remove redundant parent references in system structs (#3908)lizzie2026-06-232-25/+28
| | | | | | | | | | reworked a bit to remove references of parent objects and instead pass as arguments to methods to prevent useless reloads Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3908 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev>
* [core/debugger] Protocol-compliant vCont support (#3896)Duncan Ogilvie2026-06-044-34/+168
| | | | | | | | | | | (gdb) set scheduler-locking on (gdb) continue As discussed in #3848, follow-up to implement vCont support according to spec. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3896 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev>
* [*] basic in-house cpp linting (#4039)lizzie2026-06-041-1/+1
| | | | | | | | | | | | - add `#pragma once` to remainder files - "correcter" defines (ANDROID), see https://groups.google.com/g/android-ndk/c/cf9_f1SLXls - extra miscelly fixups Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4039 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev>
* [core] GDB improvements (#3848)Duncan Ogilvie2026-04-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commands to reproduce the issues are in the commit messages. I tested on Super Mario Odyssey using [nx2elf](https://github.com/shuffle2/nx2elf) converted binaries and gdb-multiarch: ``` (gdb) monitor info Process: 0x51 (Application) Program Id: 0x0100000000010000 Layout: Alias: 0x1103400000 - 0x21033fffff Heap: 0x2103400000 - 0x23033fffff Aslr: 0x0008000000 - 0x7fffffffff Stack: 0x1083400000 - 0x11033fffff Modules: 0x0080b3d000 - 0x0080b40fff nnrtld 0x0080b41000 - 0x0081ff1fff RedStar.nss 0x0081ff2000 - 0x008270efff multimedia 0x008270f000 - 0x00833e2fff nnSdk (gdb) monitor mappings Mappings: 0x0000000000 - 0x0080b3cfff Free ----- [0, 0] 0x0080b3d000 - 0x0080b3efff r-x Code ----- [0, 0] 0x0080b3f000 - 0x0080b3ffff r-- Code ----- [0, 0] 0x0080b40000 - 0x0080b40fff rw- CodeData ----- [0, 0] 0x0080b41000 - 0x008156bfff r-x Code ----- [0, 0] 0x008156c000 - 0x0081cdafff r-- Code ----- [0, 0] 0x0081cdb000 - 0x0081ff1fff rw- CodeData ----- [0, 0] 0x0081ff2000 - 0x0082365fff r-x Code ----- [0, 0] 0x0082366000 - 0x00825c0fff r-- Code ----- [0, 0] 0x00825c1000 - 0x008270efff rw- CodeData ----- [0, 0] 0x008270f000 - 0x0082c3cfff r-x Code ----- [0, 0] 0x0082c3d000 - 0x00832bffff r-- Code ----- [0, 0] 0x00832c0000 - 0x00833e2fff rw- CodeData ----- [0, 0] 0x00833e3000 - 0x0083403fff Free ----- [0, 0] 0x0083404000 - 0x0083404fff rw- ThreadLocal ----- [0, 0] 0x0083405000 - 0x1083403fff Free ----- [0, 0] 0x1083404000 - 0x1083503fff rw- Stack ----- [0, 0] 0x1083504000 - 0x7fffffffff Free ----- [0, 0] (gdb) set sysroot (gdb) set solib-search-path /Users/duncan/Downloads/smo-program Reading symbols from /Users/duncan/Downloads/smo-program/rtld.elf... (No debugging symbols found in /Users/duncan/Downloads/smo-program/rtld.elf) Reading symbols from /Users/duncan/Downloads/smo-program/main.elf... (No debugging symbols found in /Users/duncan/Downloads/smo-program/main.elf) Reading symbols from /Users/duncan/Downloads/smo-program/subsdk0.elf... (No debugging symbols found in /Users/duncan/Downloads/smo-program/subsdk0.elf) Reading symbols from /Users/duncan/Downloads/smo-program/sdk.elf... (No debugging symbols found in /Users/duncan/Downloads/smo-program/sdk.elf) (gdb) info shared From To Syms Read Shared Object Library 0x0000000080b3d000 0x0000000080b41000 Yes (*) /Users/duncan/Downloads/smo-program/rtld.elf 0x0000000080b41000 0x0000000081ff2000 Yes (*) /Users/duncan/Downloads/smo-program/main.elf 0x0000000081ff2000 0x000000008270f000 Yes (*) /Users/duncan/Downloads/smo-program/subsdk0.elf 0x000000008270f000 0x00000000833e3000 Yes (*) /Users/duncan/Downloads/smo-program/sdk.elf (*): Shared library is missing debugging information. (gdb) info functions nnMain All functions matching regular expression "nnMain": Non-debugging symbols: 0x0000000081024250 nnMain 0x0000000082c2de40 nnMain@plt (gdb) b *nnMain Breakpoint 1 at 0x81024250 (gdb) c Continuing. Breakpoint 1, 0x0000000081024250 in nnMain () from /Users/duncan/Downloads/smo-program/main.elf (gdb) x/10i $pc => 0x81024250 <nnMain>: stp x22, x21, [sp, #-48]! 0x81024254 <nnMain+4>: stp x20, x19, [sp, #16] 0x81024258 <nnMain+8>: stp x29, x30, [sp, #32] 0x8102425c <nnMain+12>: add x29, sp, #0x20 0x81024260 <nnMain+16>: bl 0x81569aa0 0x81024264 <nnMain+20>: mov w19, w0 0x81024268 <nnMain+24>: bl 0x81569ab0 0x8102426c <nnMain+28>: mov x20, x0 0x81024270 <nnMain+32>: mov w0, w19 0x81024274 <nnMain+36>: mov x1, x20 ``` Symlinked like this: ``` ls -l /Users/duncan/Downloads/smo-program total 687472 -rw-r--r--@ 1 duncan staff 20385356 Apr 9 18:12 main.elf lrwxr-xr-x@ 1 duncan staff 11 Apr 9 15:26 multimedia -> subsdk0.elf lrwxr-xr-x@ 1 duncan staff 8 Apr 9 15:28 nnrtld -> rtld.elf lrwxr-xr-x@ 1 duncan staff 7 Apr 9 15:26 nnSdk -> sdk.elf lrwxr-xr-x@ 1 duncan staff 8 Apr 9 15:26 RedStar.nss -> main.elf -rw-r--r--@ 1 duncan staff 12440 Apr 9 18:12 rtld.elf -rw-r--r--@ 1 duncan staff 12662960 Apr 9 18:12 sdk.elf -rw-r--r--@ 1 duncan staff 6294336 Apr 9 18:12 subsdk0.elf ``` Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3848 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev>
* [common/logging] Simplify logging logic and fix issues when logging before ↵lizzie2026-03-122-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | system is created (#3688) - our logging code was bigger than spdlog itself, why???? just keep it simple - fix issues when logging before logging system is even started - removes the "initialized logging twice" issue - removes uneeded indirection in file logging - uses direct formatting instead of jumping hoopla-around the fmt::format() ressult - code duplication and dead code removal as usual I did explore dup2() but I think it's not worth the hassle I did try `fwopen()` but it's better if things are just kept as-is. there is a lot of noise because I removed a bunch of redundant files on logging and just put everything in one file now normally this wouldn't be a good idea, however consider: the complexity of logging; it's less than 500 lines... does it really need a whole subsystem?!?!?! ITS JUST LOGGING Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3688 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: DraVee <chimera@dravee.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [logging, debugger] remove unescesary logic and only query USER env variable ↵lizzie2025-10-273-301/+189
| | | | | | | | | | | | | once (#2800) - censoring an username would lead to the variable being queried everytime something is written, just store it on a static - dont use a map<> for something that can be done in a switch statment (and that the compiler will optimise for free!!!) Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2800 Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [compat] Debian stable gcc12/clang14 compilation fixes (#2763)lizzie2025-10-181-2/+1
| | | | | | | | | | | | | Mainly because - while we can just give out an AppImage and call it a day - building natively should be an option for all major distros. And "base" stable debian doesn't provide a new enough g++/clang++ so... we need to make some "fixups". Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2763 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [meta] fix license headers (#2547)lizzie2025-09-213-0/+9
| | | | | | | Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [cmake] enable clang-cl and WoA builds (#348)lizzie2025-09-092-3/+3
| | | | | | | | | | | | | | Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64. Compiling on clang is *dramatically* faster so this should be useful for CI. Co-authored-by: crueter <crueter@eden-emu.dev> Co-authored-by: crueter <crueter@crueter.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [compat] openbsd port fixes (#273)lizzie2025-09-081-1/+1
| | | | | | | | | Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/273 Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [dynarmic] jit fix branch v2 (#203)crueter2025-08-271-47/+32
| | | | | | Co-authored-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/203 Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
* [desktop] update sample shading fraction tooltip (#266)crueter2025-08-161-1/+1
| | | | | | | | | | more clear on what the slider doessssssssss Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/266 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: Maufeat <sahyno1996@gmail.com>
* [cmake] refactor: CPM over vcpkg (#250)crueter2025-08-141-2/+8
| | | | | | | | | Completely replaces vcpkg with CPM for all "system" dependencies. Primarily needed for Android and Windows. Also uses my OpenSSL CI for those two platforms. In theory, improves configure and build time by a LOT and makes things much easier to manage Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/250 Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* [dynarmic] revert bad changes (#202)crueter2025-08-041-32/+47
| | | | | | | | | | | | This reverts commit 56acd4041ac0052c3b753950587851877e961a66. pr needs rebase and fix, audio broke Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/202 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Signed-off-by: crueter <crueter@eden-emu.dev>
* [dynarmic] XMM spill, SSE/AVX emit, sub/add, configurable JIT state pointer, ↵lizzie2025-08-021-47/+32
| | | | | | | | | | remove unnecessary stuff (#128) Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/128 https://www.agner.org/optimize/ Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* fix include for boost 1.8.3+ (#121)Esther10242025-05-221-2/+9
| | | | | | | Co-authored-by: swurl <swurl@swurl.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/121 Co-authored-by: Esther1024 <danishreyjavik@outlook.com> Co-committed-by: Esther1024 <danishreyjavik@outlook.com>
* gdb: fix load/save of fp values in a32Liam2024-02-041-2/+2
|
* kernel: fix debugger and process list lifetimeLiam2024-01-123-42/+78
|
* Fix typos in src/core (#12625)Viktor Szépe2024-01-081-22/+22
| | | | | | | | | * Fix typos in src/core * Fix typo correction * Fix indentation of MemoryStateNames * Fix indent
* core: refactor emulated cpu core activationLiam2023-12-043-272/+44
|
* gdbstub: read module information from memory layoutLiam2023-11-111-47/+118
|
* kernel: add KPageTableBaseLiam2023-11-101-44/+58
| | | | Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk>
* kernel: update KProcessLiam2023-10-212-31/+35
|
* gdbstub: add PermissionLocked to mappings tableLiam2023-10-201-4/+6
|
* gdbserver: use numeric character references for unicodeLiam2023-10-011-2/+15
|
* gdbstub: fixup replaced instruction bytes in memory readsLiam2023-08-141-0/+17
|
* core: reduce TOCTTOU memory accessLiam2023-07-221-6/+3
|
* k_process: PageTable -> GetPageTableLiam2023-07-141-2/+2
|
* memory: rename global memory references to application memoryLiam2023-03-231-17/+17
|
* kernel: use KTypedAddress for addressesLiam2023-03-221-16/+20
|
* kernel: convert KProcess to new styleLiam2023-03-121-1/+1
|
* kernel: convert KThread to new styleLiam2023-03-122-8/+8
|
* service: refactor server architectureLiam2023-02-212-6/+7
| | | | Converts services to have their own processes
* Merge pull request #9796 from liamwhite/currentliamwhite2023-02-151-14/+14
|\ | | | | general: rename CurrentProcess to ApplicationProcess
| * general: rename CurrentProcess to ApplicationProcessLiam2023-02-131-14/+14
| |
* | remove constexpr from virtual functionarades792023-02-142-5/+5
| | | | | | | | Signed-off-by: arades79 <scravers@protonmail.com>
* | use a string view to skip allocationarades792023-02-142-13/+7
| | | | | | | | Signed-off-by: arades79 <scravers@protonmail.com>
* | add static lifetime to constexpr values to force compile time evaluation ↵arades792023-02-141-2/+2
|/ | | | | | where possible Signed-off-by: arades79 <scravers@protonmail.com>
* debugger: add host fastmem pointer fetch commandLiam2023-01-121-3/+23
|
* general: fix compile for Apple ClangLiam2022-11-221-0/+1
|
* gdbstub: add ams monitor commandsLiam2022-11-102-0/+152
|
* debugger: allow more than one connection attempt per sessionLiam2022-11-101-68/+93
|
* common: remove "yuzu:" prefix from thread namesLiam2022-10-031-1/+1
|
* kernel: unlayer CPU interrupt handlingLiam2022-07-251-4/+5
|
* gdbstub_arch: Directly access SP registerlat9nq2022-06-301-2/+6
| | | | | | | | Currently to access the SP register, RegRead and RegWrite rely on a out-of-bounds array access to reach the next element in a struct. As of writing only git versions of GCC catch this error. Specify the SP register when we want to access it in these functions.
* gdbstub: fix register pokesLiam2022-06-251-0/+1
|
* core/debugger: memory breakpoint supportLiam2022-06-165-26/+151
|