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
|
7be1faaa9b
|
fix callstack cache lookup early out case
|
2025-08-13 14:13:10 -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
|
1856c52e58
|
xxhash for ctrl layer
|
2025-08-05 09:27:38 -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
|
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
|
8d1de1b24c
|
report user errors from ctrl thread more vigorously
|
2025-07-23 14:06:17 -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
|
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
|
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
|
74e1ccd147
|
invalidate mem/reg/run generations on every dmn run
|
2025-06-28 11:18: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 |
|
Ryan Fleury
|
e34e8adbaa
|
do not disqualify flagged expr breakpoints if 0
|
2025-06-27 23:15:02 -07:00 |
|
Ryan Fleury
|
b67d7f729b
|
do not require eval cache for breakpoint touched-symbols parse/check; reintroduce memory read retry loop - necessary in some cases
|
2025-06-27 22:59:10 -07:00 |
|
Ryan Fleury
|
5ba9b6abd8
|
regression debugging & notes
|
2025-06-27 22:54:34 -07:00 |
|
Ryan Fleury
|
36f5597d8e
|
eliminate unneeded path-renormalization in debug info cache lookup
|
2025-06-25 10:52:29 -07:00 |
|
Ryan Fleury
|
e2eb1cd6d6
|
do not unnecessarily block on parses when closing modules
|
2025-06-25 09:41:48 -07:00 |
|
Ryan Fleury
|
10a49ca331
|
actually, rely on entry point trap calculation to do exe-rdi waiting; adjust default fonts to be more consistent with windows
|
2025-06-25 08:32:48 -07:00 |
|
Ryan Fleury
|
a2608261d1
|
always wait for initial module debug info
|
2025-06-25 07:56:51 -07:00 |
|
Ryan Fleury
|
ad995374bb
|
cache module requirement disqualifications; reuse within scope of same run (& thus same user bps)
|
2025-06-20 07:57:16 -07:00 |
|
Ryan Fleury
|
d532f62aaa
|
plug in expression-based breakpoints to RDI-necessary-checking path
|
2025-06-19 14:53:13 -07:00 |
|
Ryan Fleury
|
bfe90f5906
|
plug in thin pdb analysis to determine if waiting on a full RDI conversion is necessary - do not wait if RDI is determined to be unnecessary given breakpoints!
|
2025-06-19 14:48:13 -07:00 |
|
Ryan Fleury
|
0ff246d13f
|
fixes to ctrl call stack lookup path
|
2025-06-18 13:26:45 -07:00 |
|
Ryan Fleury
|
df901b2497
|
pass over ctrl call stack lookup path, eliminate races between multiple retry loops
|
2025-06-18 12:42:34 -07:00 |
|
Ryan Fleury
|
a1f71379f4
|
adjust thread extra string rendering to account for missing modules/rdi frames
|
2025-06-18 10:40:50 -07:00 |
|
Ryan Fleury
|
bee2570d39
|
fix double-load in radbin conversion path; fix incorrect mutation of potentially-nil trees when snapping to a file without a specific line; fix di_close path when work is occurring
|
2025-06-18 09:56:47 -07:00 |
|
Ryan Fleury
|
401f117653
|
adjust step trap net build in case of memory read failure - ensure we get correct memory read, otherwise we can generate bad trap nets during heavy load. allow high vs. low priority in async rdi loading; use low-priority in pre-emptive case
|
2025-06-18 08:36:41 -07:00 |
|
Ryan Fleury
|
53e6050ee0
|
outer loop timeout exit condition in ctrl process memory cache lookup
|
2025-06-16 09:10:25 -07:00 |
|
Ryan Fleury
|
49de09883e
|
plug in dwarf converter to radbin; hook up to both rdi generation & breakpad generation; radbin exe -> pdb / elf -> dwarf inferences; cleanup / unification passes
|
2025-06-10 08:53:57 -07:00 |
|
Ryan Fleury
|
4926f6cfc8
|
programmatic address range annotations; pipe -> ctrl entities; render in memory view
|
2025-06-08 17:37:55 -07:00 |
|
Ryan Fleury
|
b57deebd03
|
another pass over ctrl process memory cache lookup, prevent another deadlock case
|
2025-06-03 12:06:02 -07:00 |
|
Ryan Fleury
|
594594ec72
|
adjust ctrl memory cache committing condition to be more robust to bad regions. otherwise we were flooding new request to repeatedly recopy from the client, when we effectively already knew it would never be valid.
|
2025-06-02 15:28:26 -07:00 |
|
Ryan Fleury
|
44280f3dd0
|
fix bad wait condition in ctrl memory cache accessing
|
2025-06-02 14:45:52 -07:00 |
|
Ryan Fleury
|
94b969f203
|
copyright year
|
2025-06-02 14:13:57 -07:00 |
|
Ryan Fleury
|
becb61f00d
|
many-thread-stepping test in mule, adjust call stack thread name decoration limit, now that call stack computation is async; tweak ctrl process memory cache lookup exit condition to be more robust to failed-read cases
|
2025-06-02 11:59:49 -07:00 |
|
Ryan Fleury
|
4aeadc12b7
|
adjust memory reading fail conditions in trap net generation; fix early-aborting of retry loop in process memory cache lookup
|
2025-05-22 12:15:31 -07:00 |
|
Ryan Fleury
|
02611de6af
|
broadcast wakeup event on ctrl cache commits
|
2025-05-22 11:39:08 -07:00 |
|
Ryan Fleury
|
d254d8edb4
|
switch singular frame scopes to stack of frame scopes; always ensure scopes are closed before breaks in frames.
|
2025-05-22 09:28:13 -07:00 |
|
Ryan Fleury
|
895a965f70
|
defer call stack scope touches until retry loop exit
|
2025-05-21 17:33:30 -07:00 |
|
Ryan Fleury
|
0eb37c527c
|
fix incorrect abort-on-0-rip condition in unwinder path; we can still have nonzero rsps and find valid frames.
|
2025-05-20 15:09:35 -07:00 |
|
Ryan Fleury
|
95dbba1144
|
debugging notes of programmatic data breakpoints
|
2025-05-20 13:18:15 -07:00 |
|
Ryan Fleury
|
a55c5b49aa
|
similarly adjust call stack cache timeout periods
|
2025-05-20 13:06:16 -07:00 |
|
Ryan Fleury
|
15459edc75
|
adjust wait timeout properties of ctrl process memory cache grab; don't wait forever to submit, don't wait if work was completed even if results bad, etc.
|
2025-05-20 13:03:58 -07:00 |
|
Ryan Fleury
|
7fc39a3d97
|
eliminate old debug engine unwind cache
|
2025-05-20 11:13:04 -07:00 |
|
Ryan Fleury
|
56b975a6b1
|
adjust async call stack querying API to guard against waiting in clearly-invalid cases (trying to wait for call stacks when running, for example); also eliminate logs
|
2025-05-20 10:36:44 -07:00 |
|
Ryan Fleury
|
7dc4399300
|
dead ctrl process memory cache elimination
|
2025-05-19 19:38:27 -07:00 |
|
Ryan Fleury
|
54325828b2
|
absolutify target stdout/stderr/stdin paths based on working directory
|
2025-05-19 18:56:13 -07:00 |
|
Ryan Fleury
|
b9e3df4cae
|
pass over hash store layer / all users, to switch to explicit 64-bit root alloc/dealloc, and 128-bit ids, for a full 192-bit hs key
|
2025-05-19 14:52:28 -07:00 |
|