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 |
|
Ryan Fleury
|
4f3d9c96b8
|
d2r2: when deduplicating types, ensure deterministic (hash -> .debug_info off) mapping, by minimizing the .debug_info off found for a particular type hash - in theory, this step should not be necessary, but there is a mistake / broken part of this theory, which was leading to non-deterministic type graphs in a very small # of cases, due to the same hash mapping to different .debug_info offsets across runs. in theory, the hash itself should take care of this, but there is likely something important missing. in either case, minimizing the .debug_info offset is very cheap, and guarantees we parse from a deterministic place no matter what the run looks like.
|
2026-05-02 20:25:33 -07:00 |
|
Ryan Fleury
|
f9eb25dbcb
|
d2r2: do unique type info gathering on a sub-unit granularity, so we can subdivide a unit across all lanes; sort unique type tag slots for determinism
|
2026-05-01 14:12:35 -07:00 |
|
Ryan Fleury
|
0b5e827f6c
|
rd: prioritize fastpath for non-unwound register reads; d2r2: prepass to find all top-level tag trees, subdivide unit work on a root-level tag tree basis
|
2026-05-01 12:34:35 -07:00 |
|
Ryan Fleury
|
0b26b1c83e
|
radbin: only dump eh frame data if found
|
2026-05-01 08:49:16 -07:00 |
|
Ryan Fleury
|
13fb24f253
|
fix incorrect function parameter type parsing (was causing quadratic parses of .debug_info, oops)
|
2026-05-01 08:42:48 -07:00 |
|
Ryan Fleury
|
0054935252
|
d2r2: fix scope voff miscount; pattern match trivial value-register locations -> simple kind; fix pre-dwarf5 file table parsing
|
2026-04-30 18:09:30 -07:00 |
|
Ryan Fleury
|
0e2b37ba32
|
dwarf: do not crash on unsupported codes; text: do not crash on arena releasing w/ zero hash (#766, #771?, #761)
|
2026-04-30 17:51:11 -07:00 |
|
Ryan Fleury
|
c83c1f3cfd
|
udt conversion
|
2026-04-29 16:27:58 -07:00 |
|
Ryan Fleury
|
230b004742
|
d2r2: function type info; fix reg+off location info for signed offsets, function type deduplicating / construction / referencing, etc.
|
2026-04-29 15:50:31 -07:00 |
|
Ryan Fleury
|
9a923e9bf9
|
d2r2: .debug_loclists parsing, DWARF expression -> RDI location info; first pass at baking frame base into var locations to match simpler PDB behavior; fixes to high-pc address evaluation (based on form kind)
|
2026-04-29 12:40:43 -07:00 |
|
Ryan Fleury
|
242f4e9cbd
|
d2r2: dwarf 5 .debug_rnglists, .debug_addr parsing / usage
|
2026-04-28 09:37:31 -07:00 |
|
Ryan Fleury
|
f5ec462438
|
d2r2: .debug_aranges parsing / unit conversion; .debug_ranges parsing
|
2026-04-28 08:57:59 -07:00 |
|
Ryan Fleury
|
f1a9fc5e3a
|
turn off new dwarf converter outputs temporarily
|
2026-04-27 18:14:29 -07:00 |
|
Ryan Fleury
|
c6b733de20
|
d2r2: finished first pass of type conversion; sketched out structure for symbol/unit conversion; plugged everything in
|
2026-04-27 16:07:07 -07:00 |
|
Ryan Fleury
|
ffa41c0a98
|
d2r2: adjustments to type deduper; sketch out topologically-sorted type building path
|
2026-04-27 12:02:27 -07:00 |
|
Ryan Fleury
|
be1095eccf
|
d2r2: type dedup content hashing cycle detection / handling; type dependency chain build
|
2026-04-25 09:40:49 -07:00 |
|
Ryan Fleury
|
9768321d08
|
fix build
|
2026-04-24 20:45:18 -07:00 |
|
Ryan Fleury
|
ad0d023c93
|
d2r2 type deduplication: further work on type content hashing; correct .debug_str_offsets handling; sketch out type dependency chain build
|
2026-04-24 20:34:20 -07:00 |
|
Ryan Fleury
|
35e00de05c
|
d2r2: cross-unit, cross-lane type deduplication
|
2026-04-24 20:34:20 -07:00 |
|
Ryan Fleury
|
ccb1cd8f4d
|
d2r2: built-in types, move rdi variadic type -> built-in
|
2026-04-23 18:54:01 -07:00 |
|
Ryan Fleury
|
44a1c9ca1b
|
d2r2: line sequence production / equipping to src files
|
2026-04-23 18:12:14 -07:00 |
|