Ryan Fleury
|
4bc82db69e
|
deduplicate txti/text_cache language stuff; port over odin lexing
|
2024-03-26 11:00:37 -07:00 |
|
Ryan Fleury
|
ca6e75d466
|
allow c++14 digit separators in c/c++ lexing
|
2024-03-26 10:42:46 -07:00 |
|
Ryan Fleury
|
6393766f82
|
deduplicate txti/txt layer lexing
|
2024-03-26 10:31:20 -07:00 |
|
Ryan Fleury
|
206d48b363
|
notes
|
2024-03-25 15:47:34 -07:00 |
|
Ryan Fleury
|
f561abfd63
|
show stopper-thread exception-info on entity tooltips, when applicable
|
2024-03-25 15:43:00 -07:00 |
|
Ryan Fleury
|
6d1c0d9f6d
|
louder & more informative exception info viz
|
2024-03-25 15:37:31 -07:00 |
|
Ryan Fleury
|
55146b547b
|
reading & organization pass over unwinding layer; deduplicate PE info with PE layer, move dwarf info to in-progress dwarf layer
|
2024-03-25 14:42:54 -07:00 |
|
Ryan Fleury
|
1c3792a3da
|
tighten architecture-specific path for unwinder
|
2024-03-25 13:34:43 -07:00 |
|
Ryan Fleury
|
e5df25b314
|
use stderr-based fatal crash reporting, rather than windows gui, with programs built as console interfaces rather than guis
|
2024-03-25 13:24:00 -07:00 |
|
Ryan Fleury
|
23c1ea0e68
|
ui: if only one view scroll axis is specified on a box, always use scroll info to fill it, regardless of which axis that scroll took place on
|
2024-03-25 13:02:17 -07:00 |
|
Ryan Fleury
|
aa85b2cdbb
|
correctly pass unicode environments to launched child processes; also treat unicode command line arguments correctly
|
2024-03-25 12:57:00 -07:00 |
|
Ryan Fleury
|
e136a67535
|
demon/win32: correctly report exception repetitions for unhandled exception cases
|
2024-03-25 11:00:00 -07:00 |
|
Ryan Fleury
|
83ecb4b86a
|
ctrl thread stepping machine: read initial stack-pointer-check-value *before* single-stepping stuck threads, otherwise we can obtain an incorrect stack check value if the single-step causes a call.
|
2024-03-22 17:27:54 -07:00 |
|
Ryan Fleury
|
c26274ac70
|
disable single-step-stuck-thread behavior when launching-and-initing, such that breakpoints on entry point will not be stepped over
|
2024-03-22 17:17:08 -07:00 |
|
Ryan Fleury
|
995804cc78
|
demon2 -> demon; eliminate original demon layer
|
2024-03-22 16:33:48 -07:00 |
|
Ryan Fleury
|
c9df04ca60
|
merge
|
2024-03-22 16:31:05 -07:00 |
|
Ryan Fleury
|
71f3d18bf7
|
notes
|
2024-03-22 16:30:04 -07:00 |
|
Ryan Fleury
|
928532f386
|
do not attempt to refresh tls base calculation cache, if targets running
|
2024-03-22 16:29:50 -07:00 |
|
Ryan Fleury
|
7cd524d39d
|
fix tls base calculation in demon2
|
2024-03-22 16:19:35 -07:00 |
|
Ryan Fleury
|
2c8c9a497c
|
parameterize ctrl thread registers cache with entity store, rather than relying on implicit demon-api-provided cache
|
2024-03-22 16:15:20 -07:00 |
|
Ryan Fleury
|
c636e1ad2e
|
extend demon2 with explicit separation between blocking ctrl mechanisms & passive access/introspection/writing mechanisms; extend demon2 api with access mechanism
|
2024-03-22 15:53:04 -07:00 |
|
Ryan Fleury
|
07bbf1b43c
|
organize demon2 by thread api
|
2024-03-22 15:15:33 -07:00 |
|
Ryan Fleury
|
ca01e66ea2
|
plug in tls root vaddr path
|
2024-03-22 14:12:40 -07:00 |
|
Ryan Fleury
|
14ac7141e7
|
double buffer member cache
|
2024-03-22 13:53:14 -07:00 |
|
Ryan Fleury
|
9de678ec22
|
disable debug heap by default; get unwindg path off caching layers & use demon reads directly
|
2024-03-22 13:51:26 -07:00 |
|
Ryan Fleury
|
e9129975e3
|
double buffer locals cache & tls base cache; introduce synchronizing mechanism for run vs. non-run ctrl thread states, to only attempt demon reads/queries during non-running times
|
2024-03-22 13:32:22 -07:00 |
|
Ryan Fleury
|
3994adae92
|
double-buffer frontend unwind cache
|
2024-03-22 11:56:28 -07:00 |
|
Ryan Fleury
|
982f2b6bab
|
extend process memory cache queries with output channel for staleness detection - in some cases this is crucial, in other cases you don't care & want to passively accept stale redsults
|
2024-03-22 10:33:20 -07:00 |
|
Ryan Fleury
|
a694a77eba
|
fix halting, unattached running, and caching generations in demon2
|
2024-03-21 16:49:34 -07:00 |
|
Ryan Fleury
|
54677e05ec
|
fix incorrect metagen pointer comparisons
|
2024-03-21 16:21:17 -07:00 |
|
Ryan Fleury
|
236214db25
|
eliminate unnecessary layers in frontend
|
2024-03-21 16:13:01 -07:00 |
|
Ryan Fleury
|
2c9ff37b2c
|
sketch out new unwind cache types
|
2024-03-21 13:53:12 -07:00 |
|
Ryan Fleury
|
1466b27385
|
tweak registers cache lookup rules, to correctly return stale results on failed reads
|
2024-03-21 11:48:48 -07:00 |
|
Ryan Fleury
|
e0e84c2ee3
|
further progress on integrating new demon layer
|
2024-03-21 11:28:47 -07:00 |
|
Ryan Fleury
|
c2709d78b8
|
dont over-ambitiously consider the unwind cache up-to-date if some thread unwinds failed
|
2024-03-17 12:21:57 -07:00 |
|
Ryan Fleury
|
1269b93588
|
fix unchecked zero pointers in bake string map joining task, when zero pointers are legal
|
2024-03-17 12:17:22 -07:00 |
|
Ryan Fleury
|
14d3037aec
|
raddbgi_breakpad_from_pdb: add a few missing null checks for edge cases
|
2024-03-17 12:17:22 -07:00 |
|
Ryan Fleury
|
fbf4cce0e7
|
make tpi hash parsing gracefully exit on empty input data
|
2024-03-17 12:17:21 -07:00 |
|
Ryan Fleury
|
d3cdb97a4e
|
notes
|
2024-03-17 12:16:40 -07:00 |
|
Ryan Fleury
|
808d26684e
|
fix unchecked zero pointers in bake string map joining task, when zero pointers are legal
|
2024-03-15 14:16:30 -07:00 |
|
Ryan Fleury
|
8f0e39024f
|
fix additional demon2 typo
|
2024-03-14 21:24:12 -07:00 |
|
Ryan Fleury
|
aa7c30d85b
|
ctrl: first pass at new thread registers cache; also checkpoint for progress on moving to new demon layer
|
2024-03-14 21:09:43 -07:00 |
|
Ryan Fleury
|
22e6352056
|
raddbgi_breakpad_from_pdb: add a few missing null checks for edge cases
|
2024-03-13 15:25:05 -07:00 |
|
Ryan Fleury
|
2fff68cfcf
|
make tpi hash parsing gracefully exit on empty input data
|
2024-03-13 15:10:39 -07:00 |
|
Ryan Fleury
|
936c6149e3
|
remove timeout on thread register cache accessor
|
2024-03-12 16:35:43 -07:00 |
|
Ryan Fleury
|
c417f15912
|
fix task entry points in breakpad converter
|
2024-03-12 16:01:30 -07:00 |
|
Ryan Fleury
|
ea74f928cd
|
fix process memory cache query mechanism when ring buffer is near capacity
|
2024-03-12 15:51:26 -07:00 |
|
Ryan Fleury
|
871419de39
|
bugfixes in new demon layer; adjust retry mechanism in process memory cache query; ui fixes
|
2024-03-12 15:49:36 -07:00 |
|
Ryan Fleury
|
8639faabdd
|
ctrl entity string allocation & tracking, for thread names & module names; fix process memory cache in edge cases
|
2024-03-12 14:56:02 -07:00 |
|
Ryan Fleury
|
d1e88f781e
|
tweak ctrl entity building to be bucketed per 'entity store' - we can now have multiple 'entity stores', one on the frontend thread, one on the ctrl thread, and keep them in sync at specific points via event lists
|
2024-03-12 14:20:24 -07:00 |
|
Ryan Fleury
|
4a3cc9bb39
|
get raddbg building on new demon layer
|
2024-03-12 13:55:13 -07:00 |
|
Ryan Fleury
|
2749301777
|
checkpoint - moving ctrl mostly over to demon2; sketching out a few missing cache pieces
|
2024-03-12 11:41:53 -07:00 |
|
Ryan Fleury
|
90d9f3b7c2
|
fix task entry points in breakpad converter
|
2024-03-12 09:05:00 -07:00 |
|
Ryan Fleury
|
49ccf50fd4
|
first pass at integrating new demon2 layer into debugger, need to change ctrl a bit to adopt some of the things that were previously being left up to demon layers
|
2024-03-08 12:49:06 -08:00 |
|
Ryan Fleury
|
0d0c599e00
|
begin process of moving pe unwinding info into pe layer; more demon2 work checkpoint
|
2024-03-05 16:54:57 -08:00 |
|
Ryan Fleury
|
e25364a835
|
strip out some unnecessary apis from the demon layer, since we'll be doing per-entity caching in ctrl and keep demon as close to a thin abstraction as possible
|
2024-03-05 14:55:49 -08:00 |
|
Ryan Fleury
|
f85718f1e2
|
fix eval header
|
2024-03-05 14:48:23 -08:00 |
|
Ryan Fleury
|
4074551a1a
|
hook up demon2 initialization to base layer entry point
|
2024-03-05 14:27:40 -08:00 |
|
Ryan Fleury
|
0c436f0d5b
|
first pass at demon replacement layer; just trimming out old code & cruft & reading & naming pass
|
2024-03-05 14:17:41 -08:00 |
|
Ryan Fleury
|
091269b1d8
|
eliminate synchronous per-thread string map building, just do it as-needed on each thread;
|
2024-03-04 11:53:12 -08:00 |
|
Ryan Fleury
|
4d6860b3a1
|
raddbgi_from_pdb/raddbgi_make: kill old synchronous string map code; naming pass
|
2024-03-04 11:14:54 -08:00 |
|
Ryan Fleury
|
778f4eb08d
|
raddbgi_from_pdb: complete initial parallelization pass over string map building, joining, & sorting
|
2024-03-04 11:02:48 -08:00 |
|
Ryan Fleury
|
0ad795ba4c
|
eliminate old udt string baking kickoff code
|
2024-03-01 11:36:03 -08:00 |
|
Ryan Fleury
|
ac22e24841
|
raddbgi_from_pdb: switch string baking to using fixed per-thread maps, rather than per-task maps
|
2024-03-01 11:21:30 -08:00 |
|
Ryan Fleury
|
2fc0b4eac2
|
extend task system with thread count, so usage code can easily create per-thread state; pass thread idx into task entry points
|
2024-03-01 11:08:00 -08:00 |
|
Ryan Fleury
|
7eca2a35cd
|
raddbgi_dump: dump string table
|
2024-02-29 11:04:53 -08:00 |
|
Ryan Fleury
|
1ea3a14a50
|
shift to slice-granularity of string map gathering, rather than chunk-granularity - gives a bit more flexibility. set up pdb converter type name gathering tasks for slice subdivision. before going forward with this plan it's imperative that we start sparsely allocating these name maps...
|
2024-02-28 16:48:25 -08:00 |
|
Ryan Fleury
|
a38742d80b
|
adjust string map sorting tasks to be wide, but less granular than per-slot; divide up table into chunks
|
2024-02-28 16:18:11 -08:00 |
|
Ryan Fleury
|
e94b530758
|
new bake string map gathering/merging passes & async usage in converter
|
2024-02-28 15:51:17 -08:00 |
|
Ryan Fleury
|
0916c2a3c8
|
first pass at bake string chunk list, bake string chunk list map, and bake string chunk list sorting paths/datastructures - basic machinery for going wide on the string/name map builds
|
2024-02-28 13:27:48 -08:00 |
|
Ryan Fleury
|
56690a703f
|
fix padding insertion pass over members gathering
|
2024-02-27 06:35:11 -08:00 |
|
Ryan Fleury
|
bb0ebb5df2
|
raddbgi prefix on breakpad converter
|
2024-02-26 17:01:52 -08:00 |
|
Ryan Fleury
|
70d004e5d3
|
clean up command line arguments & help in converters
|
2024-02-26 16:49:57 -08:00 |
|
Ryan Fleury
|
3b7a4f3331
|
clean up pdb -> raddbgi converter parameters; extend conversion parameterization with optional type/udt disabling; use in breakpad converter
|
2024-02-26 14:11:26 -08:00 |
|
Ryan Fleury
|
1c2c82cc58
|
breakpad_from_pdb per-function line info writing
|
2024-02-26 13:34:33 -08:00 |
|
Ryan Fleury
|
03763e3444
|
raddbgi_from_pdb/raddbgi_make: split top-level units baking from per-unit baking; do per-unit baking wide
|
2024-02-26 12:15:18 -08:00 |
|
Ryan Fleury
|
d9897161c2
|
first half of first pass at breakpad textual symbol info format exporter
|
2024-02-26 11:49:19 -08:00 |
|
Ryan Fleury
|
874f40244c
|
eliminate per-executable initialization, just pull that down into the base layer entry point
|
2024-02-26 10:45:00 -08:00 |
|
Ryan Fleury
|
443c3fb74b
|
get dwarf -> raddbgi converter on new entry point style
|
2024-02-25 15:03:27 -08:00 |
|
Ryan Fleury
|
8eb0f90f3e
|
move to codebase-defined entry point style, with basic command line argument parsing, capture, thread-ctx, and other boilerplate deduplicated in the base layer's entry point definition
|
2024-02-25 15:02:05 -08:00 |
|
Ryan Fleury
|
dd05eaa21e
|
sketch out some codebase-wide standard thread entry point boilerplate
|
2024-02-25 14:13:27 -08:00 |
|
Ryan Fleury
|
93ab48ecdf
|
organization/naming/dead-code-elimination pass over base
|
2024-02-25 14:00:35 -08:00 |
|
Ryan Fleury
|
3ec1edaff1
|
oops, fix clang
|
2024-02-25 13:33:27 -08:00 |
|
Ryan Fleury
|
d8cf83b4d7
|
pull out & organize build configuration options, including entry point style, to context cracker
|
2024-02-25 13:30:15 -08:00 |
|
Ryan Fleury
|
c4b8916bcf
|
raddbgi dump - fix bad condition
|
2024-02-25 09:59:56 -08:00 |
|
Ryan Fleury
|
642acdf474
|
switch voff -> symbol name path to graceful failure RDI lookups
|
2024-02-25 09:57:51 -08:00 |
|
Ryan Fleury
|
7c9f127425
|
cleanup/naming pass over raddbgi_dump, do not require specific named params
|
2024-02-24 22:03:08 -08:00 |
|
Ryan Fleury
|
93c0e657fd
|
eliminate old test files
|
2024-02-24 20:08:44 -08:00 |
|
Ryan Fleury
|
10ab27eb43
|
oops - actually respect operating system file system match flags in dbgi layer
|
2024-02-24 18:16:59 -08:00 |
|
Ryan Fleury
|
4c76eb73f1
|
respect operating system file system case sensitivity rules in dbgi layer
|
2024-02-24 14:04:41 -08:00 |
|
Ryan Fleury
|
d9aa49e45c
|
respect wait timeouts in task system join
|
2024-02-23 12:17:57 -08:00 |
|
Ryan Fleury
|
4da33c0d2c
|
eliminate noop in ui layout pass
|
2024-02-23 11:21:47 -08:00 |
|
Ryan Fleury
|
dd0416f9f9
|
fix nil expressions mapping to valid expression kinds, thus implying children nodes
|
2024-02-23 11:18:53 -08:00 |
|
Ryan Fleury
|
c1984edadf
|
dont over-eagerly join udt building tassk
|
2024-02-23 11:13:12 -08:00 |
|
Ryan Fleury
|
ac8a7ba988
|
fix enumerate gathering in new udt building pass
|
2024-02-23 11:07:09 -08:00 |
|
Ryan Fleury
|
6beb9951e6
|
adjust default task sizes in raddbgi_from_pdb
|
2024-02-22 16:54:39 -08:00 |
|
Ryan Fleury
|
5813cb2af8
|
proper thread names
|
2024-02-22 16:20:27 -08:00 |
|
Ryan Fleury
|
74d051f383
|
walk args as dependent types for member function types
|
2024-02-22 15:51:18 -08:00 |
|
Ryan Fleury
|
7facfb7d08
|
kill single threaded udt conversion code
|
2024-02-22 15:50:07 -08:00 |
|
Ryan Fleury
|
fe1e0cc2fd
|
move udt info conversion to task threads, divide up itype stream and do it wide
|
2024-02-22 15:49:46 -08:00 |
|