Commit Graph
4405 Commits
Author SHA1 Message Date
Ryan Fleury 9262938b2f raddbg: store connected remote controller address correctly, ui: fix tooltips escaping window 2026-10-07 13:05:08 -07:00
Ryan Fleury 297cb626f5 fix bad msg_size calculation 2026-10-07 12:24:13 -07:00
Ryan Fleury 4f5e795ae9 dbg_server, remote controller connections checkpoint 2026-10-07 12:58:24 -06:00
Ryan Fleury 98467d0868 raddbg: explicit packet headers for ipc; render_opengl: fix bad scissoring; linux_socket: fix not waking up, fix SIGPIPE; dbg_engine: checkpoint on sketching out multi-demon attaching abstraction, machine ID -> demon ID 2026-10-06 18:10:49 -06:00
Ryan Fleury 7da38c5f3b raddbg_server: adjust split between main / demon thread - main thread can handle many things, like memory & regs reads/writes, but cannot handle ctrl-thread-only operations. 2026-10-02 21:08:49 -07:00
Ryan Fleury 34a0ff4e80 raddbg_server: checkpoint 2026-10-02 20:57:47 -07:00
Ryan Fleury bf000289db raddbg: fix potentially stale cfg lookups, do not hash cfg IDs since they are just monotonically increasing 2026-10-02 12:57:30 -06:00
Ryan Fleury 2db9ec1312 fix ub reported by gcc builds 2026-10-02 08:17:23 -07:00
Ryan Fleury f6b4a38134 dwarf: fix incorrect offset table parsing in cases of rnglists. extra offset field & different interpretation of table entries. 2026-10-01 16:31:18 -06:00
Ryan Fleury 0956d2fa14 linux_demon: never report signal repeats for signals which cannot ever be repeated 2026-10-01 14:22:51 -07:00
Ryan Fleury 53192ff3fa linux_demon: detecting first vs. second chance signals correctly; feed back in exception events. used for exception event filtering logic 2026-10-01 13:20:16 -06:00
Ryan Fleury b7ee36e35e linux_demon: do not report exception repeats on first-chance signals 2026-10-01 13:11:58 -06:00
Ryan Fleury 5acbed46ba raddbg: adjust default linux signal filtering settings to match lldb's defaults 2026-10-01 12:58:54 -06:00
Ryan Fleury cc9951b5ef linux signal codes, user settings to enable breaking on them, feed into debug engine 2026-10-01 11:49:53 -07:00
Ryan Fleury 56073cfff0 linux_window_manager: query default refresh rate via xrandr, rather than assuming 60 (oops!) 2026-10-01 10:47:46 -07:00
Ryan Fleury a256e5c48a sketch out linux non-host layer, for mapping numeric exception codes to metadata on debugger frontend. also do not always call XQueryKeymap/XQueryPointer; these are very expensive and we only use them in scenarios where we can take the most recently cached value from events. 2026-10-01 10:33:24 -07:00
Ryan Fleury 8c1c35508a bump to 30 2026-10-01 09:16:22 -07:00
Ryan Fleury 3ee3ecfeee do not require git to build correctly; optionally mix in IDs in builds, do not reference git hash without checking in raddbg; do not build/run metaprogram by default in build.sh; also match build.bat behavior of single 'release' arg implying raddbg build 2026-10-01 09:12:29 -07:00
Ryan Fleury cd41ba199b win32_socket: fix clang warnings 2026-09-30 14:54:59 -07:00
Ryan Fleury 4195ce4bba raddbg: bitmap cache on ui thread - no win from async. incompatible with gl. 2026-09-30 12:28:01 -07:00
Ryan Fleury a2988333a5 linux_sock: meet windows in functionality - send/recv on both client/server 2026-09-30 11:42:03 -07:00
Ryan Fleury b5c02dd4fa linux_socket: checkpoint, get accepting/receiving working 2026-09-30 11:29:40 -07:00
Ryan Fleury 50b61822a8 stub out linux sockets 2026-09-30 09:48:45 -07:00
Ryan Fleury 98657d9b38 raddbg: eliminate old ipc mechanism; allow ipc network address override via command line argument 2026-09-30 09:32:02 -07:00
Ryan Fleury 29119335ef socket: client connections/sends; raddbg: move ipc sender mode to using socket layer 2026-09-30 09:27:47 -07:00
Ryan Fleury 82aaccd945 sock: fix sends, raddbg_core: send ipc results through socket, back to endpoint from which ipc command(s) originated 2026-09-30 08:57:11 -07:00
Ryan Fleury d2140ace3d raddbg: allow overriding ipc port from command line 2026-09-30 08:42:15 -07:00
Ryan Fleury 6a52e6deec sock: bucket socket connection pools / requests by 'session' - one session = one listener port, one pool of connections / io ring buffers - we will want many of these, since for ipc, the debugger wants to act as a server on the UI thread, and for remote, the debugger wants to act as a client on the ctrl thread. 2026-09-30 08:31:54 -07:00
Ryan Fleury 7ee21690c2 ui: fix scroll increment for more consistency with default native windows behavior; linux_window_manager: make consistent with windows scroll events 2026-09-30 08:12:47 -07:00
Ryan Fleury be3fa56927 base: memory map -> push new ranges to front, rather than end - this makes the common case of iterative retry loops asking for memory, then immediately needing it, faster 2026-09-30 07:56:33 -07:00
Ryan Fleury 00d4a1a56f dbg_engine: heuristically clear memory map & grab new stack page when advancing to new regions of stack for large unwinds 2026-09-30 07:55:55 -07:00
Ryan Fleury db645e5c90 build fixes 2026-09-29 21:14:43 -07:00
Ryan Fleury e270def19f socket: checkpoint on socket layer / win32 impl; plug into ipc driving 2026-09-29 21:08:34 -07:00
Ryan Fleury f781622a54 checkpoint on sockets layer 2026-09-29 16:34:18 -07:00
Ryan Fleury 7082c7b67d linux_demon: thread names 2026-09-29 13:09:41 -06:00
Ryan Fleury 0b91cab00a linux_demon: PTRACE_EVENT_STOPs can sometimes be reported even if a thread has already hit a trap (e.g. a trap net or breakpoint trap). this would sometimes cause spurious SIGTRAPs after issuing a PTRACE_INTERRUPT - so we need to flag halted threads to not treat that as a 'real' trap. furthermore, even though that trap was hit, it does not guarantee that the debugger would next see a SIGTRAP. that would cause spurious SIGILLs, because we'd resume threads *after* the trap, despite not seeing the trap, so they'd just see a malformed instruction (the bytes subsequent the initial trap). so in those cases, we need to roll such threads back, so that they re-execute the trap, and so that we see a regular SIGTRAP, and handle the trap correctly. 2026-09-29 12:28:05 -06:00
Ryan Fleury 2933143b08 win32_demon: make conflicting trap net / user bp trap behavior identical to linux - always find info for *first* trap in list. second... dbg_engine: store trap net traps *first*, so that trap net behavior is preferred when trap nets conflict with user bp traps. 2026-09-28 10:10:16 -06:00
Ryan Fleury 4e7a6127d8 dbg_engine: process memory cache - always retry on memgen 'tearing', do not enforce size restriction. linux_demon: correctly relativize loaded module paths when needed per the loading process' working directory. raddbg: disasm view, do not skip too far back - can go into unmapped space. eval: file/folder filtering - hoist exact matches to the top. 2026-09-28 09:18:59 -06:00
Ryan Fleury e7a9c430f8 rdi_from_dwarf: fix incorrect argument slot used in breg<N> conversion 2026-09-28 08:38:30 -06:00
Ryan Fleury d66094161d rdi_from_dwarf: do not assume non-zero root tags in each unit 2026-09-28 08:31:05 -06:00
kwy404 1ac8fb5202 base: fix data4 byte order in try_guid_from_string
The last two GUID groups were packed into a U64 and copied to data4 in
host byte order, so on little endian data4 came out reversed and
string_from_guid did not round trip (for example /RAD_GUID). Store the
value big endian so data4[0] is the first byte of the fourth group.
2026-09-27 00:20:42 -07:00
Ryan Fleury 2c226d8a4b selected-thread-only breakpoints; user setting for adding that by default; do this for 'run-to-line' operations 2026-09-25 14:28:54 -06:00
Ryan Fleury 315175e34d keep debug info status viz, just omit string if it matches the module (usual linux case) 2026-09-25 13:45:31 -06:00
Ryan Fleury eb845405e0 linux_window_manager: clipboard support 2026-09-25 13:10:08 -06:00
Ryan Fleury 0d93e80f84 linux notes 2026-09-25 11:19:24 -06:00
Ryan Fleury 0317f4c810 linux_demon: correct rebasing / phdr address parsing for both static/dynamic ELFs 2026-09-25 11:15:07 -06:00
Ryan Fleury bc7434f7ed linux_demon: do not fail when there is no dynamic loader present 2026-09-25 10:29:16 -06:00
Ryan Fleury 9fdcc88cab rdi_from_dwarf: correctly use unit_dir only when line table directories are relative; correctly use unit compilation unit name as first file in pre-dwarf-5 2026-09-24 11:37:24 -06:00
Ryan Fleury 31d10c3b4f rdi_from_dwarf: preserve unit dir in generated source file paths. do not assume relativity to binary, often incorrect 2026-09-24 11:24:42 -06:00
Ryan Fleury df1de0541a linux_demon: robustness to clone-then-stop, *or* stop-then-clone 2026-09-24 10:12:22 -06:00