Ryan Fleury
|
4eca7f7fea
|
source file / source line map baking
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
efb24fb0fa
|
checkpoint on src file / src line map baking
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
d2e6e5de5a
|
oops - fix non-allocation in previous part
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
15e9cda7d2
|
new location info baking, new constants baking
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
ee8dc27428
|
location data / location block baking
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
cd77ddb1b7
|
pdb converter - new location info building for all cases
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
6f9b22b258
|
plug in new location building code to pdb conversion
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
cc9f45299a
|
eliminate separate chunk list for location cases
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
fa05bbf2a5
|
udt member/enum-val layout & nested baking; use rio to pre-fault all commits
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
a84142ed77
|
re-nest enum vals & members into udts; we want to keep the building API flexible with order of member building, and we can assume ~statistically-uniform distribution across all udts, so it makes more sense to just parallelize on udts, and pay the small cost of an upfront per-lane layout.
|
2025-09-05 15:19:30 -07:00 |
|
Ryan Fleury
|
8b83e5ef48
|
more non-determinism & bug fixes in name map & idx run map building
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
4c3bb98c64
|
more determinism fixes
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
096b631e8a
|
remove debugging code
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
27f2acd45d
|
further progress/fixes on pdb -> rdi determinism
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
27d4793900
|
fix line table building non-determinism
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
f093ba9d35
|
fix src file path gathering determinism - was caused by interleaving each lane's non-inline and inline file paths - with different thread counts, these subdivisions will be different, so the order will change
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
6234fb0c49
|
fix incorrect scope voff serialization offsets
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
955f033043
|
fix incorrect idx run baking; slots need to be laid out based on *idx counts*, rather than *value counts*!
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
e276ce4fb3
|
stub out src file baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
57125fee1b
|
eliminate helpers from string map baking; no point in extra entry points for partial bakes
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
2f9006bb8a
|
bugfix name map baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
46ac437e86
|
name map baking / serialization
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
92f24a043d
|
idx runs baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
55b05301a4
|
expand scope vmap sorting -> all vmaps; do final vmap bakes; do first pass of scope (1 scope -> many locals, many voffs) layout / baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
cc0d707eb2
|
eliminate 'lane groups', since we can go wide on the sorts now
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
1d7cd4f4d2
|
cleanup / radix sort experimentation
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
a44fbb0909
|
parallel radix sort for scope vmap baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
8fe4b3524f
|
with sufficient threads, split baking threads into two groups: small # of threads to do expensive 'background' baking tasks, use the rest to do wide predictable baking stuff
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
f065ca33a2
|
location block baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
3b1aae44d0
|
location info baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
71cbdba76e
|
remove old section requirement part of rdi, since all sections are now fixed; unit/scope/global vmap baking; collapse chunk list impls
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
e4ac3febd0
|
finish new udt baking; pull members & enum vals out of sub-udt lists, makes it much harder to layout & parallelize - instead pull them aside into their own chunk lists, require that UDTs just point to their first member; that way we can go wide when baking UDT members/enum-vals
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
b8414c4bfd
|
type, first part of udt baking, string baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
ad4e57ec5a
|
idx run baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
b22f6d3544
|
fully wide name map baking, joining, & sorting
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
95e88e92e7
|
top-level info string baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
618233eba1
|
checkpoint on new baker; globals, threads, inline sites
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
595270bdab
|
path tree baking
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
b169090dc6
|
checkpoint on new rdi baking; line table baking, string map building, plug in radsort over bad radix sort; arena tweak to aovoid unnecessary zeroes
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
66ec3e834b
|
rdi baking: wide line table gathering/joining & sorting
|
2025-09-05 15:19:29 -07:00 |
|
Ryan Fleury
|
69d0da9586
|
checkpoint on moving all of radbin to wavefront-style, first step to going wide on rdi baking as well
|
2025-09-05 15:19:28 -07:00 |
|
Ryan Fleury
|
c35c14dadb
|
prefer last match to first in debug info, to gracefully avoid stale debug info in pdbs
|
2025-08-30 12:04:39 -07:00 |
|
Ryan Fleury
|
be5634c448
|
p2r2 - final conversion output bundling
|
2025-08-19 17:02:05 -07:00 |
|
Ryan Fleury
|
cdec8d5980
|
ctrl/demon: fastfail exception codes / notes; p2r2: finish symbol conversion etc. in new wavefront-style version
|
2025-08-19 16:47:12 -07:00 |
|
Ryan Fleury
|
cff69f287a
|
p2r2 more progress; src file line sequence equipping, sketch out symbol conversion - we unfortunately cannot currently easily subdivide units! we need to pull out the few 'record-range' concepts and make them flat first, e.g. proc base address for inline sites, frameproc info, etc.
|
2025-08-18 16:58:05 -07:00 |
|
Ryan Fleury
|
83d4afabd5
|
p2r2: types building
|
2025-08-18 16:28:22 -07:00 |
|
Ryan Fleury
|
0fa45fe71b
|
p2r2: reslice per-lane work; bucket subsets of units by record count, rather than assigning units to lanes
|
2025-08-18 15:24:25 -07:00 |
|
Ryan Fleury
|
55f21018df
|
unit conversion, line info conversion
|
2025-08-18 14:19:48 -07:00 |
|
Ryan Fleury
|
34cb8ded2c
|
better uniform lane range distribution when count / lanes is not cleanly divisible; plug in source file path gathering
|
2025-08-18 12:01:55 -07:00 |
|
Ryan Fleury
|
d52b6d7bca
|
go wide on msf stream extraction
|
2025-08-18 11:36:33 -07:00 |
|
Ryan Fleury
|
d0ece7bc57
|
hook up p2r2 to radbin
|
2025-08-18 11:26:05 -07:00 |
|
Ryan Fleury
|
c33dd2869a
|
define synchronization primitive interface in base layer, implement using os layer; convert all usage -> base layer; use base sync primitives in lane tctx info
|
2025-08-18 10:46:43 -07:00 |
|
Ryan Fleury
|
a48651471d
|
share-read in header analysis in radbin
|
2025-08-15 16:54:06 -07:00 |
|
Ryan Fleury
|
e566b2ed30
|
checkpoint on wavefront-style pdb -> rdi converter
|
2025-08-15 16:50:28 -07:00 |
|
Ryan Fleury
|
f1a1863d5c
|
set up base-layer tctx info for thread wavefront metadata
|
2025-08-15 12:16:58 -07:00 |
|
Ryan Fleury
|
f754b4c2db
|
fix pointer/array comparison paths not being enabled for not-equal; fix value arithmetic paths applying in type comparisons
|
2025-08-15 11:31:50 -07:00 |
|
Ryan Fleury
|
83650a5fe0
|
support unsigned -> unsigned int; support as-style casts in expressions; pack int alias in pdb-produced rdis
|
2025-08-15 10:56:42 -07:00 |
|
Ryan Fleury
|
36c626e375
|
Merge branch 'master' of https://github.com/EpicGames/raddebugger into dev
|
2025-08-14 11:31:43 -07:00 |
|
Ryan Fleury
|
7be1faaa9b
|
fix callstack cache lookup early out case
|
2025-08-13 14:13:10 -07:00 |
|
Ryan Fleury
|
5144ced282
|
turn off call stack tree macro for now
|
2025-08-13 13:46:02 -07:00 |
|
Ryan Fleury
|
6a8277536f
|
fix one-sided bounds check in text containing-scope binary search
|
2025-08-13 13:21:34 -07:00 |
|
Ryan Fleury
|
788df5f556
|
os: barrier
|
2025-08-12 10:12:05 -07:00 |
|
Ryan Fleury
|
a8f6142e63
|
eval/ir: do not strip enum types off when doing address operations
|
2025-08-11 16:18:39 -07:00 |
|
Ryan Fleury
|
36dcd65a83
|
first pass at call stack tree evaluation
|
2025-08-11 16:08:04 -07:00 |
|
Ryan Fleury
|
056604fb94
|
sketch out tline -> vline text wrapping cache types; first pass of async call stack tree builder
|
2025-08-11 13:46:06 -07:00 |
|
Ryan Fleury
|
e1d6b9f319
|
tweaks
|
2025-08-06 17:21:44 -07:00 |
|
Ryan Fleury
|
af5dcffdac
|
tie scope rendering to settings
|
2025-08-06 14:33:17 -07:00 |
|
Ryan Fleury
|
a227aff8f6
|
finish containing-scope visualization
|
2025-08-06 14:24:12 -07:00 |
|
Ryan Fleury
|
cd8c3a2172
|
enable read/write bits on just read data breakpoint on x64 - there is no way to do a read-only (without write) data breakpoint
|
2025-08-06 11:50:01 -07:00 |
|
Ryan Fleury
|
4c10e84e5f
|
fix txt cache scope lookup binary search
|
2025-08-05 21:17:50 -07:00 |
|
Ryan Fleury
|
01f60834e9
|
plug in text scope tree to code slice visualization
|
2025-08-05 16:36:59 -07:00 |
|
Ryan Fleury
|
230f452edb
|
text cache scope tree lookup paths
|
2025-08-05 16:11:49 -07:00 |
|
Ryan Fleury
|
5a5fd53bfa
|
scope tree / sorted scope endpoints parsing in text cache parsing
|
2025-08-05 14:28:49 -07:00 |
|
Ryan Fleury
|
c4374810cb
|
fix wrong void type in pdb -> rdi
|
2025-08-05 13:41:10 -07:00 |
|
Ryan Fleury
|
9cff2bc7dd
|
symbolof operation in eval
|
2025-08-05 10:21:42 -07:00 |
|
Ryan Fleury
|
1856c52e58
|
xxhash for ctrl layer
|
2025-08-05 09:27:38 -07:00 |
|
Ryan Fleury
|
31973ac2ac
|
eliminate extra type stuff in rdim, organize / reslice dwarf conversion code, start reading through dwarf conversion
|
2025-08-04 14:19:17 -07:00 |
|
Ryan Fleury
|
b31b4612e9
|
pre-emptive thread register cache updating on ctrl thread - cache reading/updating on ui thread should always be allowed to gracefully fail, since it is literally impossible on linux, but we can always rely on the ctrl thread to pipe the right thing through eventually.
|
2025-08-04 13:13:18 -07:00 |
|
Ryan Fleury
|
9c2bdf492f
|
ptrace register reading debugging
|
2025-08-04 12:36:04 -07:00 |
|
Ryan Fleury
|
209c5e96b8
|
bitmap view -> rich hover
|
2025-08-01 11:45:28 -07:00 |
|
Ryan Fleury
|
25963dc9b4
|
demon/linux: correct main module address range formation; further progress on event processing
|
2025-07-31 17:33:58 -07:00 |
|
Ryan Fleury
|
a323aec6d0
|
demon/linux: x64 trap writing
|
2025-07-31 15:10:25 -07:00 |
|
Ryan Fleury
|
7c99e79981
|
demon/linux: first pass port at x64 register writing
|
2025-07-31 14:54:28 -07:00 |
|
Ryan Fleury
|
1a19bf9663
|
render/d3d11: adjust allowed frame 'latency' (frames-in-queue) based on number of active windows, to not unnecessarily block if we have two windows to build frames for; demon/linux: sketch out register writing path, ensure reg read/write paths have slots for other architectures
|
2025-07-31 14:09:42 -07:00 |
|
Ryan Fleury
|
ad735dab5e
|
pull raddbg byte attachment aside into standalone section - this guarantees byte placement, does not rely on ordering, and does not require symbols
|
2025-07-31 13:15:37 -07:00 |
|
Ryan Fleury
|
9ef87e9d56
|
fix to match 32 -> 64 change in demon/win32
|
2025-07-29 14:22:23 -07:00 |
|
Ryan Fleury
|
7403a8ea3b
|
demon/linux: x64 register reading
|
2025-07-29 14:19:54 -07:00 |
|
Ryan Fleury
|
0e9f2ee03c
|
demon/linux: halting, sigstop cases
|
2025-07-28 17:47:50 -07:00 |
|
Ryan Fleury
|
64c2d98ede
|
demon/linux: sketch out signal interpretation, more ptrace study
|
2025-07-28 17:25:24 -07:00 |
|
Ryan Fleury
|
122c27eabe
|
do not funnel non-dwarf sections in dwarf input prep pass
|
2025-07-28 16:22:23 -07:00 |
|
Ryan Fleury
|
48f5df2523
|
cleanup pass over elf parsing; base addr calculation?
|
2025-07-28 16:13:45 -07:00 |
|
Ryan Fleury
|
09f9cc25df
|
os/linux: move-file-path impl
|
2025-07-28 14:54:48 -07:00 |
|
Ryan Fleury
|
2e8c0875c8
|
only use type-derived sizes in eval ranges when the evaluation is an offset, not a value
|
2025-07-28 14:34:46 -07:00 |
|
Ryan Fleury
|
5134d1ce4c
|
adjust eval -> space range mapping to fix a few edge cases
|
2025-07-28 14:32:47 -07:00 |
|
Ryan Fleury
|
c22ecf8e71
|
output clearing path
|
2025-07-28 12:05:37 -07:00 |
|
Ryan Fleury
|
97b4abd6de
|
measure os file write helper success by bytes written - do not assume the write completes if the file handle is valid
|
2025-07-28 11:36:43 -07:00 |
|
Ryan Fleury
|
9b28ab68f2
|
adjust open user/project path to be more robust in cases of loading corrupted data on startup
|
2025-07-28 11:26:55 -07:00 |
|
Ryan Fleury
|
e3a79dae86
|
apply slash insensitivity to fuzzy matches
|
2025-07-27 21:02:34 -07:00 |
|
Ryan Fleury
|
7dca3fd954
|
os/gfx/win32: fix bad alloc size in new utf16 clipboard path
|
2025-07-27 20:02:18 -07:00 |
|
Ryan Fleury
|
2e14f34cc8
|
derefence pointer/reference evaluations when generating block tree, to match expected behavior, & what the string iterator does
|
2025-07-25 16:11:17 -07:00 |
|