Commit Graph

  • 8066378fd3 Merge remote-tracking branch 'EpicGamesExt/master' master ed 2026-10-19 14:25:47 -04:00
  • 62b715a30e update codebase readme w.r.t. linux Ryan Fleury 2026-10-16 19:04:28 -07:00
  • c55a14f634 dbg_info: swap for (dbg infos) for (name map tables) loops in debug info name identifier resolution - prefer *all* global variables first, for example, before types. Ryan Fleury 2026-10-16 12:46:23 -07:00
  • fc0ee681e0 rdi_parse: initial parse / decompression sample usage Ryan Fleury 2026-10-16 08:23:21 -07:00
  • 959de0d834 update rdi_parse samples, add voff -> procedure name Ryan Fleury 2026-10-16 08:18:10 -07:00
  • e6707738bf radlink: For non-debug sections, propagate /RAD_REMOVE_SECTION to the section flags. This fixes issues where .gfids sections contain relocation data. In that case radlink dropped the section, but still applied them at for example .text + 0. Karl Zylinski 2026-10-12 16:56:33 +02:00
  • 0d44ddea29 dbg_engine: multi-server debugging checkpoint - hash cache of (server ID -> state), where state is {ID * dmn event queue}. when dequeueing demon events, pull from servers in round-robin style before running. when running, resume-all. if the local server returns -> halt all remote servers. if a remote server returns before local -> halt local. still need to correctly supply run controls to all servers (dbg_engine run controls need to not just be dmn but multi-server), and need to adjust halting logic such that all remote servers are halted if another remote server generated an event too. Ryan Fleury 2026-10-15 13:23:18 -07:00
  • 8036f7bed0 raddbg: eliminate preemptive glyph rasterization. we actually just pay more for it than we get. Ryan Fleury 2026-10-14 21:17:38 -07:00
  • 933f05949c raddbg_server: checkpoint; raddbg: zoom panels Ryan Fleury 2026-10-14 20:53:32 -07:00
  • d5cbced499 raddbg: never use a flag argument as the first command line target argument. never coherent Ryan Fleury 2026-10-12 09:58:27 -07:00
  • a244990b82 raddbg: hidden mode Ryan Fleury 2026-10-12 09:53:34 -07:00
  • 5ec3156d8e fix incorrect listener socket creation on client-only win32 socket sessions; win32 window manager -> make robust to zero handles Ryan Fleury 2026-10-12 08:58:00 -07:00
  • 4a9b10bb7b hidden mode commands/state, fix torture build Ryan Fleury 2026-10-12 08:48:06 -07:00
  • 41598aaf08 dbg_server / dbg_engine: checkpoint on remote debug servers Ryan Fleury 2026-10-12 08:43:45 -07:00
  • 6cfaae9a22 raddbg/dbg_engine: machine -> server; dbg_server: checkpoint; raddbg_server: hook up response sending (to sender client), and event sending (to all connected clients) Ryan Fleury 2026-10-09 09:41:28 -07:00
  • c269823e15 debug server checkpoint Ryan Fleury 2026-10-09 07:49:24 -07:00
  • b6d8c3fd9e dwarf_parse: fix incorrect expectation of max_ops_per_inst in pre-dwarf-4; fix incorrect comp unit file Ryan Fleury 2026-10-07 13:55:58 -07:00
  • ece977e2ed linux_window_manager :fall back to 60 Hz if default refresh rate couldn't be detected Ryan Fleury 2026-10-07 13:22:33 -07:00
  • f9eef60935 build.sh: fix missing ;s in bash for older interpreters Ryan Fleury 2026-10-07 13:20:37 -07:00
  • 9549d096fa build metaprogram if not present even if option not passed, run always unless specified otherwise Ryan Fleury 2026-10-07 13:13:19 -07:00
  • 9262938b2f raddbg: store connected remote controller address correctly, ui: fix tooltips escaping window Ryan Fleury 2026-10-07 13:05:08 -07:00
  • 297cb626f5 fix bad msg_size calculation Ryan Fleury 2026-10-07 12:24:13 -07:00
  • 4f5e795ae9 dbg_server, remote controller connections checkpoint Ryan Fleury 2026-10-07 12:58:24 -06:00
  • 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 Ryan Fleury 2026-10-06 18:10:49 -06:00
  • 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. Ryan Fleury 2026-10-02 21:08:49 -07:00
  • 34a0ff4e80 raddbg_server: checkpoint Ryan Fleury 2026-10-02 20:57:47 -07:00
  • bf000289db raddbg: fix potentially stale cfg lookups, do not hash cfg IDs since they are just monotonically increasing Ryan Fleury 2026-10-02 12:57:26 -06:00
  • 2db9ec1312 fix ub reported by gcc builds Ryan Fleury 2026-10-02 08:17:06 -07:00
  • f6b4a38134 dwarf: fix incorrect offset table parsing in cases of rnglists. extra offset field & different interpretation of table entries. Ryan Fleury 2026-10-01 16:31:18 -06:00
  • 0956d2fa14 linux_demon: never report signal repeats for signals which cannot ever be repeated Ryan Fleury 2026-10-01 14:22:51 -07:00
  • 53192ff3fa linux_demon: detecting first vs. second chance signals correctly; feed back in exception events. used for exception event filtering logic Ryan Fleury 2026-10-01 13:20:16 -06:00
  • b7ee36e35e linux_demon: do not report exception repeats on first-chance signals Ryan Fleury 2026-10-01 13:11:58 -06:00
  • 5acbed46ba raddbg: adjust default linux signal filtering settings to match lldb's defaults Ryan Fleury 2026-10-01 12:58:54 -06:00
  • cc9951b5ef linux signal codes, user settings to enable breaking on them, feed into debug engine Ryan Fleury 2026-10-01 11:49:53 -07:00
  • 56073cfff0 linux_window_manager: query default refresh rate via xrandr, rather than assuming 60 (oops!) Ryan Fleury 2026-10-01 10:47:46 -07:00
  • 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. Ryan Fleury 2026-10-01 10:33:24 -07:00
  • 8c1c35508a bump to 30 Ryan Fleury 2026-10-01 09:16:22 -07:00
  • 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 Ryan Fleury 2026-10-01 09:12:29 -07:00
  • cd41ba199b win32_socket: fix clang warnings Ryan Fleury 2026-09-30 14:54:59 -07:00
  • 1945959043 linker notes Ryan Fleury 2026-09-30 14:42:47 -07:00
  • ec07bce92f v0.9.29 debugger changelog Ryan Fleury 2026-09-30 13:24:15 -07:00
  • 39867def85 header links Ryan Fleury 2026-09-30 13:00:12 -07:00
  • 35423aa222 readme - linux x64 build setup instructions Ryan Fleury 2026-09-30 12:57:34 -07:00
  • 4195ce4bba raddbg: bitmap cache on ui thread - no win from async. incompatible with gl. Ryan Fleury 2026-09-30 12:28:01 -07:00
  • a2988333a5 linux_sock: meet windows in functionality - send/recv on both client/server Ryan Fleury 2026-09-30 11:42:03 -07:00
  • b5c02dd4fa linux_socket: checkpoint, get accepting/receiving working Ryan Fleury 2026-09-30 11:29:40 -07:00
  • 50b61822a8 stub out linux sockets Ryan Fleury 2026-09-30 09:48:45 -07:00
  • 98657d9b38 raddbg: eliminate old ipc mechanism; allow ipc network address override via command line argument Ryan Fleury 2026-09-30 09:32:02 -07:00
  • 29119335ef socket: client connections/sends; raddbg: move ipc sender mode to using socket layer Ryan Fleury 2026-09-30 09:27:47 -07:00
  • 82aaccd945 sock: fix sends, raddbg_core: send ipc results through socket, back to endpoint from which ipc command(s) originated Ryan Fleury 2026-09-30 08:57:11 -07:00
  • d2140ace3d raddbg: allow overriding ipc port from command line Ryan Fleury 2026-09-30 08:42:15 -07:00
  • 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. Ryan Fleury 2026-09-30 08:31:54 -07:00
  • 7ee21690c2 ui: fix scroll increment for more consistency with default native windows behavior; linux_window_manager: make consistent with windows scroll events Ryan Fleury 2026-09-30 08:12:47 -07:00
  • 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 Ryan Fleury 2026-09-30 07:56:33 -07:00
  • 00d4a1a56f dbg_engine: heuristically clear memory map & grab new stack page when advancing to new regions of stack for large unwinds Ryan Fleury 2026-09-30 07:55:55 -07:00
  • db645e5c90 build fixes Ryan Fleury 2026-09-29 21:14:43 -07:00
  • e270def19f socket: checkpoint on socket layer / win32 impl; plug into ipc driving Ryan Fleury 2026-09-29 21:08:34 -07:00
  • f781622a54 checkpoint on sockets layer Ryan Fleury 2026-09-29 16:34:18 -07:00
  • 7082c7b67d linux_demon: thread names Ryan Fleury 2026-09-29 13:09:41 -06:00
  • 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. Ryan Fleury 2026-09-29 12:28:05 -06:00
  • 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. Ryan Fleury 2026-09-28 10:10:16 -06:00
  • 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. Ryan Fleury 2026-09-28 09:18:59 -06:00
  • e7a9c430f8 rdi_from_dwarf: fix incorrect argument slot used in breg<N> conversion Ryan Fleury 2026-09-28 08:38:30 -06:00
  • d66094161d rdi_from_dwarf: do not assume non-zero root tags in each unit Ryan Fleury 2026-09-28 08:31:05 -06:00
  • 1ac8fb5202 base: fix data4 byte order in try_guid_from_string kwy404 2026-09-26 05:11:25 -03:00
  • 2c226d8a4b selected-thread-only breakpoints; user setting for adding that by default; do this for 'run-to-line' operations Ryan Fleury 2026-09-25 14:28:54 -06:00
  • 315175e34d keep debug info status viz, just omit string if it matches the module (usual linux case) Ryan Fleury 2026-09-25 13:45:31 -06:00
  • ed10cd771a ci xfixes Ryan Fleury 2026-09-25 13:15:31 -06:00
  • eb845405e0 linux_window_manager: clipboard support Ryan Fleury 2026-09-25 13:10:08 -06:00
  • 0d93e80f84 linux notes Ryan Fleury 2026-09-25 11:19:24 -06:00
  • 0317f4c810 linux_demon: correct rebasing / phdr address parsing for both static/dynamic ELFs Ryan Fleury 2026-09-25 11:15:07 -06:00
  • bc7434f7ed linux_demon: do not fail when there is no dynamic loader present Ryan Fleury 2026-09-25 10:29:16 -06:00
  • 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 Ryan Fleury 2026-09-24 11:37:24 -06:00
  • 31d10c3b4f rdi_from_dwarf: preserve unit dir in generated source file paths. do not assume relativity to binary, often incorrect Ryan Fleury 2026-09-24 11:24:42 -06:00
  • df1de0541a linux_demon: robustness to clone-then-stop, *or* stop-then-clone Ryan Fleury 2026-09-24 10:12:22 -06:00
  • ca0764c2e2 linux_demon: ptrace stop vs. clone notes - we cannot rely on the order! Ryan Fleury 2026-09-23 16:56:50 -06:00
  • 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. Ryan Fleury 2026-09-23 11:53:59 -06:00
  • 99f35bb342 rdi_from_dwarf: cfa push opcodes Ryan Fleury 2026-09-23 11:28:24 -06:00
  • 0e134ade56 separate x64 exception enums from stuff that assumes x64 host + includes regs/data-tables/etc.; just include *that* in linux base Ryan Fleury 2026-09-22 03:44:36 -07:00
  • 6133e8f335 Revert "Revert "x64 does not belong in base - base is intended to be things we can assume everywhere, which explicitly disqualifies x64 by definition."" Ryan Fleury 2026-09-22 03:28:55 -07:00
  • f9950ef4e9 Revert "x64 does not belong in base - base is intended to be things we can assume everywhere, which explicitly disqualifies x64 by definition." Nikita Smith 2026-09-21 14:05:13 -07:00
  • 4add147a09 radlink: refactor MSF writer to allow allocation of contiguous stream backing Nikita Smith 2026-09-19 21:13:14 -07:00
  • 98c1191506 radlink: use bit arrays for marking discarded CV types Nikita Smith 2026-09-19 19:54:45 -07:00
  • 7bfa4578d1 fix radbin/torture builds Ryan Fleury 2026-09-21 09:54:19 -07:00
  • 9796328ffa only inc x64 into base by default on linux, where we actually apparently need it - ideally we do not just pull in all of x64 just for a few enum codes' Ryan Fleury 2026-09-21 09:43:28 -07:00
  • 4e4639c2a0 x64 does not belong in base - base is intended to be things we can assume everywhere, which explicitly disqualifies x64 by definition. Ryan Fleury 2026-09-21 09:14:11 -07:00
  • 48ba845a91 radlink: strip LF_PRECOMP earlier before parsing .debug$T to exclude it from leaf arrays Nikita Smith 2026-09-19 14:18:02 -07:00
  • 0ac6b35a98 base: add memory placeholders and generic page fault handler Nikita Smith 2026-09-17 17:26:25 -07:00
  • 4e12148910 set up compressor Nikita Smith 2026-09-16 18:38:59 -07:00
  • e50cef2bff minor fixes Nikita Smith 2026-09-16 18:25:04 -07:00
  • 2afb78e498 radlink: resolve alternate-name fallbacks through prevailing weak symbols Nikita Smith 2026-09-16 15:12:15 -07:00
  • 64c2216ae6 radlink: encode the DBI major build number in its 16-bit field Nikita Smith 2026-09-13 00:36:02 -07:00
  • 5b646344eb radlink: implement /NOENTRY Nikita Smith 2026-09-15 18:35:22 -07:00
  • 4663d1a89a radlink: handle thread pool release correctly Nikita Smith 2026-09-15 18:19:13 -07:00
  • 458e5029db radlink: absolute symbols with identical value are legal Nikita Smith 2026-09-13 20:55:44 -07:00
  • 51bd5e0882 more accurate name for the function that queries test linker path Nikita Smith 2026-09-12 19:17:49 -07:00
  • 44a37e2a80 fixes for export test Nikita Smith 2026-09-12 19:16:57 -07:00
  • 986a6c526f radlink: implement COFF_ImportBy_NoPrefix Nikita Smith 2026-09-12 19:06:54 -07:00
  • 707a3e11ca release asserts Nikita Smith 2026-09-12 19:05:10 -07:00
  • f2ea61ab83 fix dumb passthrough of raddbg.com in args in com shim Ryan Fleury 2026-09-21 09:04:32 -07:00