Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury c746fadcaa run -> run_tests 2026-06-02 12:11:07 -07:00
Ryan Fleury 4dd22c9e51 re-enable p2r determinism tests 2026-06-02 12:11:06 -07:00
Ryan Fleury d909f187d5 be robust to any line endings in exemplar data 2026-06-02 12:11:06 -07:00
Ryan Fleury 1ea8c48867 raddbg exemplar tests -> use specific hash version, name exemplars by their platform, skip if test data unavailable 2026-06-02 12:11:05 -07:00
Ryan Fleury dc61f20e3b sketch out stepping/eval exemplar testing; step-to-exit first pass 2026-06-02 12:11:04 -07:00
Ryan Fleury a0bf825169 run-to-name, use to 'seed' test binary cases' 2026-06-02 12:11:03 -07:00
Ryan Fleury 8564884d76 raddbg: stepping regression tests 2026-06-02 12:11:02 -07:00
Ryan Fleury 685c408a13 migrate from torture-defined testing markup -> base 2026-06-02 12:11:02 -07:00
Ryan Fleury 4e72553006 promote test-definition concepts from torture to base layer; reorganize tests to be nested in their respective layer; eliminate 't_group', just use containing layer 2026-06-02 12:11:01 -07:00
Ryan Fleury 769bda0ed8 restore torture mdesk tests 2026-06-02 12:10:57 -07:00
Ryan Fleury 96c1ca549c Revert "export line and column numbers from MD"
This reverts commit 29becc3bfa6037a1ba5c5657f891a65a819b0997.
2026-06-02 12:10:56 -07:00
Ryan Fleury 3715021e0e do not assume nonzero namespace table slots 2026-06-02 12:10:55 -07:00
Ryan Fleury c723584bfa send acks always 2026-06-02 12:10:53 -07:00
Ryan Fleury 5f851ad1b0 simplify testing ipc driving stuff in raddbg layer; put in formal eval/line-from-vaddr commands 2026-06-02 12:10:52 -07:00
Ryan Fleury 4bbed83eab only send ack on catch-all path for external driver cmds 2026-06-02 12:10:51 -07:00
Ryan Fleury 4e44a3c271 get default symbol path as part of process info; sketch out windows-style path for local symbol server cache 2026-06-02 12:10:48 -07:00
Ryan Fleury e1782d08cf show line info on visualizing function evaluations 2026-06-02 12:10:48 -07:00
Ryan Fleury 1c29112e9c first pass at per-target output log labels 2026-06-02 12:10:47 -07:00
Ryan Fleury 56ee3bbf7b eval: use resolution qualifiers to express disambiguating debug info, or module, or unit, and use in debug info resolution matching path; automatically prefer selected thread voff's unit 2026-06-02 12:10:43 -07:00
Ryan Fleury a72d284058 more aggressively use scratch & limit temporary allocations in rdi baker 2026-06-02 12:10:43 -07:00
Ryan Fleury 0b5651eecd project files 2026-06-02 12:10:41 -07:00
Ryan Fleury 58e6430955 p2r: more carefully choose symbol chunk sizes - we were spending dramatically more memory than needed in cases where there were many translation units, with very few symbols, because of our overly-aggressive chunk sizes (e.g. chrome.dll.pdb). also, since we just parse the msf by forming contiguous streams, let's just always map input files in radbin by default, so that we don't pay twice for the memory. 2026-05-20 14:02:08 -07:00
Ryan Fleury 1912774377 pass over default theme 2026-05-20 11:37:53 -07:00
Ryan Fleury bc22adc440 bump to 27 2026-05-19 14:42:28 -07:00
Ryan Fleury 95f4ade10d lift wait-for-process-memory-cache-update out of d_process_write, since that path runs on control thread now too as the general 'process handle write' abstraction - just move into the rd_eval_space_write path, since that wait was only for UI benefit anyways 2026-05-19 14:35:29 -07:00
Ryan Fleury 7a5ae846e9 annotate changelog notes with issue numbers 2026-05-19 12:34:37 -07:00
Ryan Fleury 17cdf458d3 on ambiguous debug info matches, inside primary debug info -> try building a fully qualified name from context, and replacing initial debug info match if it hits 2026-05-19 12:08:26 -07:00
Ryan Fleury 161663016f project.raddbg 2026-05-19 11:56:08 -07:00
Ryan Fleury 82f47e3436 changelog notes 2026-05-19 11:55:27 -07:00
Ryan Fleury 3360d97e37 fix eval space creation for nil entities 2026-05-19 11:14:19 -07:00
Ryan Fleury 1a48155116 checkpoint on dump file parsing / cache construction; temporarily turn off crash dump command, since still wip 2026-05-19 09:56:01 -07:00
Ryan Fleury fe4de192e4 linux -> prefix user raddbg data with ., so we get ~/.raddbg normally - on windows keep normal style 2026-05-18 20:18:53 -07:00
Ryan Fleury a75cb2c32d display folder in title fstr generation for file evaluations, but only if not inside a folder context 2026-05-18 20:06:05 -07:00
Ryan Fleury 40885a3f59 fix unmapped address visualization when reading is impossible + stop it from terminating rest of useful visualization 2026-05-18 20:01:15 -07:00
Ryan Fleury 80d68b7f95 dbg_engine: minidump memory64 parsing; rename switch -> better thing for what it is 2026-05-18 19:40:47 -07:00
Ryan Fleury 4840b46b84 dbg_engine: shift thread register reads / process memory reads -> abstraction layer, rather than directly calling into demon; cache crash dump info, like thread info & memory ranges; implement thread reg reads & memory reads for dumps by using this acceleration structure when we have a dump handle, instead of regular demon reads. 2026-05-18 14:51:17 -07:00
Ryan Fleury 463a4f8565 eliminate redundant focus tab automatic commands 2026-05-17 20:24:27 -07:00
Ryan Fleury 6d6cd7033d minidumps: initial gather / events for process/modules/threads 2026-05-16 20:53:46 -07:00
Ryan Fleury fddf353ea0 minidump format types; open crash dump command, stub out opening path in control thread; expand d_handles to support machine id, entity id, *and* 'controller kind', which can be either a dump file or a demon - this properly separates the true process control abstraction (demon) from opening a regular dump file on any machine, which will let us trivially support any kind of dump file on any platform; also fix bad cfg tree state leak 2026-05-16 18:26:23 -07:00
Ryan Fleury c90cbb80aa fix label rendering in cfg title fstr build 2026-05-14 15:00:07 -07:00
Ryan Fleury cb8f2749d9 source/disassembly inline auto expressions 2026-05-14 14:34:17 -07:00
Ryan Fleury a60502d765 sketch out first pass of autos evaluation 2026-05-14 13:50:34 -07:00
Ryan Fleury 54fc7deafa fix incorrect per-unit line table data offset doubly adding base offset of unit - was breaking non-zero-offset line tables 2026-05-14 08:54:38 -07:00
Ryan Fleury 14390c01f7 respect path style in picking file replacements 2026-05-13 18:54:23 -07:00
Ryan Fleury 5977cb400d only do pointer value visualization with valid pointer spaces; otherwise it is just a value 2026-05-13 18:41:43 -07:00
Ryan Fleury ab4a084c9c fix filtered-tab selection adjustments on project load 2026-05-13 16:01:00 -07:00
Ryan Fleury d207398934 display project names in recent project list; fix 0s for address-disabled string viz 2026-05-13 15:50:59 -07:00
Ryan Fleury fbe7b20aee finish addresses-before-content single-line eval visualization path 2026-05-13 15:22:56 -07:00
Ryan Fleury 58caf0d3d5 upgrade eval space reads with staleness/bad/change info, to expand process memory cache reading abilities to all evaluation spaces; unmapped address visualization (both memory view & single line eval) 2026-05-13 14:48:00 -07:00
Ryan Fleury e6d83f7450 visualize unmapped addresses in memory view more correctly (not as 0s) - annotate explicitly with unmapped address annotation 2026-05-13 14:09:21 -07:00
Ryan Fleury 16b1e728ba breakpoints -> project-tagged user config 2026-05-13 13:38:04 -07:00
Ryan Fleury cfbda8bc4d clear last-focused-external-window on new session 2026-05-13 11:57:03 -07:00
Ryan Fleury 9eecffad78 fix mouse-hover-in-source-evaluation (off -> range) rules, to correctly enclose more expressions 2026-05-13 11:55:52 -07:00
Ryan Fleury a1778421c9 eval extended opcode for setting base offset - used for correct cross-module evaluations, fixes go-to-definition when thread is not in module of resolved identifier's symbol 2026-05-13 11:23:48 -07:00
Ryan Fleury 0563cd3b80 fix incorrect lifetime of calculated implicit user/project arguments 2026-05-13 10:43:43 -07:00
Ryan Fleury 1e0bcf0504 treat relative implicit project args correctly 2026-05-13 10:30:54 -07:00
Ryan Fleury 2231228ffb store loaded debug infos as user config, but project-tagged; eliminate 'recent files' from project file (they are almost entirely duplicative of debug info source files); adjust 'last_user' remembering semantics - do not automatically change last_user when setting user explicitly from command line 2026-05-13 10:18:06 -07:00
Ryan Fleury 1774a76cdb scope ending annotations 2026-05-13 08:58:46 -07:00
Ryan Fleury 264abe57aa allow missing debug info in case of 'step out' - we still want to support traditional behavior especially in e.g. disassembly and so on 2026-05-13 08:40:14 -07:00
Ryan Fleury b198f0b421 just move metagen onto regular base layer - in theory this causes cycles (metagen w/ bug -> generates busted base layer code -> can't build metagen!) but we do not currently generate anything in base, and we also can just revert in that case. 2026-05-12 20:02:35 -07:00
Ryan Fleury a0ace3561f eliminate d2r usage (1) from radbin 2026-05-12 19:58:15 -07:00
Ryan Fleury fa5af4fa9f notes 2026-05-12 19:57:01 -07:00
Ryan Fleury b4f15d3111 adjust project/user saving/loading rules to be less idiosyncratic with other applications. user settings persist, to keep the user from needing to specify things like windows/colors/bindings every time, but projects must always be manually specified, e.g. like usual files in other programs. you can do this either via the ui, or via command line still. also, new user/project no longer require a path - they just clear the existing path, then to set the path you just explicitly save. this makes things much more natural & familiar. 2026-05-12 19:34:42 -07:00
Ryan Fleury dcc78314ab fix dbg_info loader treatment of nil keys, avoid bad usage of blank '.rdi' files; os_lnx_* -> lnx_* 2026-05-12 14:42:29 -07:00
Ryan Fleury 50a68b9d8c adjust internal definition of sync barrier type to match windows 2026-05-12 13:52:25 -07:00
Ryan Fleury d4623a7ddf slow & highly contentious implementation of barriers using more basic sync primitives; fall back if sync barriers not present in win32 version 2026-05-12 13:48:57 -07:00
Ryan Fleury 641a7c8b30 on new debug session: close all loaded debug infos, assume none need to stick around 2026-05-12 09:38:06 -07:00
Ryan Fleury 15a2d5658f fix auto-thread-selection rules 2026-05-11 20:04:36 -07:00
Ryan Fleury d45090a8cc adjust kerning to be rounded, rather than floor'd; adjust step-out desc 2026-05-11 19:53:54 -07:00
Ryan Fleury 9eaff99bbb fix build 2026-05-11 19:44:26 -07:00
Ryan Fleury cbbacf0b5f sketch out extra disasm instruction outputs for determining read/write locations from instructions (autos) 2026-05-11 14:53:05 -07:00
Ryan Fleury d1536953b0 p2r: eliminate spurious duplicate address vmap entries; upgrade step-out with block stepping functionality 2026-05-11 14:21:43 -07:00
Ryan Fleury cc099f55aa do not call destroy on caches without a destroy hook :( 2026-05-11 13:30:59 -07:00
Ryan Fleury de35a86505 fix artifact cache replaced-value deletion - this CAN NOT run if the new value == the old value 2026-05-11 13:29:29 -07:00
Ryan Fleury 52da228efe artifact_cache: fix leak of old-generation artifacts, when those artifacts are replaced by newer generation computations. artifacts can opaquely hold things like arena pointers, and so when we replace them in the cache, we need to respect the lookup api's provision of create/destroy hooks for the cache, such that the artifacts can be released correctly (using the destroy hook) before being replaced. this is separate from regular eviction. 2026-05-11 11:49:15 -07:00
Ryan Fleury 6a95da35e0 opengl: more coverage/convergence w/ d3d11 2026-05-09 20:25:14 -07:00
Ryan Fleury 0cfc113272 opengl: apply transforms to rendering 2026-05-09 13:30:56 -07:00
Ryan Fleury a16716eff7 d2r2: fix missing function types on functions returning void 2026-05-09 12:38:08 -07:00
Ryan Fleury d59d6a21f0 d2r2: do not duplicate line records, were being generated by columnar changes, but these are not currently supported by the debugger 2026-05-09 12:18:05 -07:00
Ryan Fleury 2f6d0f9aaa os -> wm; *_w32_ -> w32_*_, *_lnx_ -> lnx_*_ 2026-05-08 21:17:21 -07:00
Ryan Fleury 9a7782de47 re-slice linux/win32 backends, top-level folder is backend (demon/win32 -> win32/demon, etc.); os_gfx -> window_manager; fix linux / opengl builds for new apis/types 2026-05-08 15:21:22 -07:00
Ryan Fleury aea4a4ff9d eliminate os_core, move into base; eliminate regs, move into arch abstraction layer, define x64 regs in x64 layer; move win32 backend for os core (now base) functionality to top-level win32 layer 2026-05-08 15:21:21 -07:00
Ryan Fleury 774e8e1305 notes 2026-05-05 12:57:04 -07:00
Ryan Fleury 738163dcbd demon: gather success status of setting traps, but do not fail on failure 2026-05-05 12:35:20 -07:00
Ryan Fleury 356237418f demon: always gather 'active' traps - do not require success 2026-05-05 12:32:00 -07:00
Ryan Fleury b210afa5ee demon/linux: do not assert on trap write/read success. breakpoints can evaluate to unmapped addresses 2026-05-05 12:30:12 -07:00
Ryan Fleury 44c6b6e4d5 do not duplicate function records for decls 2026-05-05 12:22:20 -07:00
Ryan Fleury d9f7385f81 d2r2: fix file sequence map build to use correct source files 2026-05-05 12:13:07 -07:00
Ryan Fleury 1c8a10e0f7 rdi_make: fix path node lookup to respect root-level ..s 2026-05-05 11:47:26 -07:00
Ryan Fleury 26646299a1 rdi_make: preserve root-level ..s in interned path tree 2026-05-05 11:20:38 -07:00
Ryan Fleury 5f8e0a5aa9 rd: fix possible-overrides-from-file-path path to correctly use path styles 2026-05-05 11:00:08 -07:00
Ryan Fleury 6e376e5615 rd: fix file path mapping to correctly use destination path's style in constructing mapped paths 2026-05-05 10:57:46 -07:00
Ryan Fleury 1301165aeb d2r2: disable llvm-dwarfdump-style line table logging 2026-05-05 10:50:47 -07:00
Ryan Fleury 384cf11eed d2r2: fix line table register reset conditions in line table conversion 2026-05-05 10:49:33 -07:00
Ryan Fleury fb04768002 d2r2: hook up scope containers to contained types / namespaces; fix address table parsing 2026-05-05 09:42:55 -07:00
Ryan Fleury aee299efe7 d2r2: deduper fixes/simplification, first half of structured namespace support 2026-05-04 15:41:23 -07:00
Ryan Fleury 8f65f466f5 d2r2: expand tag deduplication to both namespaces and types; gather/deduplicate/convert namespaces 2026-05-04 13:14:13 -07:00
Ryan Fleury 7157e813a0 d2r2: fix line table build - correct program data size, correct special opcode application 2026-05-03 17:55:53 -07:00
Ryan Fleury f2d80da2de d2r2: remove markup 2026-05-03 11:25:56 -07:00
Ryan Fleury e48c23db20 d2r2: don't descend children for childless subprograms! 2026-05-03 11:24:38 -07:00