Commit Graph
100 Commits
Author SHA1 Message Date
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
Ryan Fleury cb68abe844 packed bits test in mule 2025-07-25 15:31:22 -07:00
Ryan Fleury 163b79e4c0 decay bitfield types in casting path, allow casting to integer types 2025-07-25 15:29:34 -07:00
Ryan Fleury 393c291f63 reflect casting changes to call-cast style 2025-07-25 15:19:35 -07:00
Ryan Fleury 1c2855a314 unwrap decorative type operators on casts when building ops for casting, to allow for graceful enum casting; gracefully skip struct/enum symbol name prefixes 2025-07-25 15:17:39 -07:00
Ryan Fleury 1d67eb42a2 os win32 -> upgrade clipboard paths for unicode 2025-07-25 14:27:38 -07:00
Ryan Fleury 4d7088d321 do not pre-emptively exit the debug event loop on timeout unless we actually have debug strings 2025-07-25 14:21:31 -07:00
Ryan Fleury b5accc9105 apply floating flag to tooltip correctly 2025-07-25 14:00:23 -07:00
Ryan Fleury c43697fb18 fix type debug info table evaluations; fix preference for auto-hook-applied lhs evaluation when doing member/array accesses 2025-07-25 13:29:08 -07:00
Ryan Fleury 81b51446a4 cap maximum frame latency 2025-07-25 11:26:08 -07:00
Ryan Fleury 955a5f01ca fix normalized path allocation 2025-07-23 17:28:14 -07:00
Ryan Fleury 66d5d93fc9 build path tree via non-case-mutated (non-normalized) src file paths in rdi build; still sanitize paths, but do not normalize them until we actually have to build the normalized file path map build 2025-07-23 17:18:54 -07:00
Ryan Fleury 45d1f8e58b clear overwritten path on cfg writes 2025-07-23 16:24:34 -07:00
Ryan Fleury 051bacf124 reflect cast changes in cast-calls 2025-07-23 16:05:30 -07:00
Ryan Fleury 3ae3f94db0 split unsigned => signed casting case from shrinking conversion truncation cast path 2025-07-23 16:04:59 -07:00
Ryan Fleury a776f53379 skip block group row unpack paths when we're doing the special case of a root block row generation 2025-07-23 15:20:41 -07:00
Ryan Fleury cf9d736ff5 promote register space -> primary space, on space reads 2025-07-23 15:00:05 -07:00
Ryan Fleury 38f769c00d only apply truncation to integer types, oops 2025-07-23 14:36:20 -07:00
Ryan Fleury cd64d959ef apply integer truncation operations on both sign/size changes, rather than just size 2025-07-23 14:31:51 -07:00
Ryan Fleury 8d1de1b24c report user errors from ctrl thread more vigorously 2025-07-23 14:06:17 -07:00
Ryan Fleury a85284793b be more robust to user/project paths passed via command line to raddbg; do not interpret them as targets 2025-07-23 14:03:39 -07:00
Ryan Fleury 87fa6b9239 fix <64-bit integer eval stringification path, to not interpret too many bits 2025-07-23 13:26:23 -07:00
Ryan Fleury 6026ac16d4 fix call stack flickering; do not timeout early if we need to fall back to stale results after requesting new call stack compute 2025-07-23 10:38:59 -07:00
Ryan Fleury 64a0682611 fix processing of select-alls in watch tabnles 2025-07-23 10:34:27 -07:00
Ryan Fleury fcf3e73f5f demon/linux: thread resuming in dmn_ctrl_run 2025-07-17 18:51:40 -07:00
Ryan Fleury 6fb406d6c5 demon/linux: launch event info coverage, module path strings, pipe deferred debug info events first on dmn_ctrl_run 2025-07-17 18:05:00 -07:00
Ryan Fleury d5380998a7 os/linux: fix rwlock cv waits 2025-07-17 16:32:12 -07:00
Ryan Fleury 145ad87967 fix incorrect font metrics in freetype font provider 2025-07-17 15:18:02 -07:00
Ryan Fleury eba2aff0f0 demon/linux: process read/write 2025-07-17 14:46:31 -07:00
Ryan Fleury 3466779d41 demon/linux: kill, detach, process iteration 2025-07-17 14:45:08 -07:00
Ryan Fleury 2db6b826a1 demon/linux: launching events/entity builds; access synchronization 2025-07-17 14:31:57 -07:00
Ryan Fleury 0610d5ae13 demon/linux: pid extraction, module extraction, most of launching path 2025-07-17 14:08:44 -07:00
Ryan Fleury 190b3384f9 preserve selected thread info on continues 2025-07-16 15:52:41 -07:00
Ryan Fleury 6e6a2df0cb implement 'priority thread' in demon, to prefer debug events from selected thread - greatly improves multithreaded stepping 2025-07-16 15:38:27 -07:00
Ryan Fleury 5e04734444 source_files collection evaluation; expand switch to allow file evaluations 2025-07-16 13:52:49 -07:00
Ryan Fleury f6931ef0b7 apply string size limitations from explicit array types in eval string iterator 2025-07-16 13:10:35 -07:00
Ryan Fleury fc8b521b2c adjust demon to correctly produce, & ctrl to correctly process, breakpoint events which cannot be correlated to a high-level UI-defined breakpoint state. this catches, for example, data breakpoints which are programmatically set by the user program. 2025-07-16 11:54:02 -07:00
Ryan Fleury 26f9e09483 eliminate cases where typekind_function was being assumed when building keys for function & inline site types - this cannot be assumed, and will lead to bad type info interpretation 2025-07-16 10:35:14 -07:00
Ryan Fleury 0902d9fafb detach in control menu 2025-07-01 20:08:44 -07:00
Ryan Fleury a4d0fbcb46 always show null pointer address values with string visualization 2025-07-01 09:46:12 -07:00
Ryan Fleury dc79c06031 adjust implicit accessing rules with nested auto hooks (slice-of-slices case); prefer to not show address value with string prefix content in single-line eval stringification 2025-06-30 09:33:23 -07:00
Ryan Fleury 15a7efab43 slice-of-slice ambiguity debugging note 2025-06-29 18:22:03 -07:00
Ryan Fleury 74e1ccd147 invalidate mem/reg/run generations on every dmn run 2025-06-28 11:18:02 -07:00
Ryan Fleury 124c71c19a notes & bump version 2025-06-28 11:15:02 -07:00
Ryan Fleury 89cfd65f9c fix incorrect programmatic bp generation on vaddr range notes... 2025-06-28 11:07:43 -07:00
Ryan Fleury 709bc2cfab float run/mem/reg generations out of demon, into core; fix issue of demon access synchronization w/ mem gens, causing failure-to-update-stale-parts-of-process-memory-cache 2025-06-28 10:02:51 -07:00