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
1945959043
linker notes
2026-09-30 14:42:47 -07:00
Ryan Fleury
ec07bce92f
v0.9.29 debugger changelog
2026-09-30 13:24:15 -07:00
Ryan Fleury
39867def85
header links
2026-09-30 13:00:12 -07:00
Ryan Fleury
35423aa222
readme - linux x64 build setup instructions
2026-09-30 12:57:34 -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
ed10cd771a
ci xfixes
2026-09-25 13:15: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
Ryan Fleury
ca0764c2e2
linux_demon: ptrace stop vs. clone notes - we cannot rely on the order!
2026-09-23 16:56:50 -06:00
Ryan Fleury
cc82127537
eh_frame_unwind: correctly commit cfa_out - it is still unclear if we need this channel, since all we do right now is commit cfa to the sp. so presumably callers could just look at the parent's sp? but my understanding of this is not strong enough to know if that is 100% reliable, since my understanding is that the cfa is an abstract thing specifically because it may *not* be the sp. but not sure, need to look more into it later.
2026-09-23 11:53:59 -06:00
Ryan Fleury
99f35bb342
rdi_from_dwarf: cfa push opcodes
2026-09-23 11:28:24 -06:00