Ryan Fleury
79bcbe4b39
switch rdi_from_pdb to new async layer, off of old task system
2024-11-01 14:44:56 -07:00
Ryan Fleury
86d9b792d8
shift file streaming layer to using async layer for background work, remove file stream layer thread pool
2024-10-31 11:44:54 -07:00
Nikita Smith
f3a36ece13
rebase fixes
2024-10-30 15:56:55 -07:00
Nikita Smith
c5d198e3e9
build linker with branch name and full commit hash
2024-10-30 15:56:10 -07:00
Nikita Smith
eba7500f73
/rad_pdb_hash_type_names:lenient
...
Less aggressive optimization for type names. When lenient enabled, linker
replaces only mangled names and compiler generated lambda types.
2024-10-30 15:56:10 -07:00
Nikita Smith
339f43919c
remove bogus leaf align
2024-10-30 15:56:09 -07:00
Nikita Smith
f3fbf10754
replace type names with hashes
2024-10-30 15:56:09 -07:00
Nikita Smith
4a2e1dd8d0
switch to thread safe hash trie map
...
Initial implementation of the symbol table allowed us to push symbols
from one thread at a time and required a wonky lock-step and spread out
logic for replacing symbols. And because it was a externally chained
hash table we had to guesstimate optimal capacity for small and big targets.
We erred on the side of larger capacity to prevent degradation and
rehashing, however this meant small targets had to spent unreasonable
amount of time memory allocing slots. With hash trie we can dynamically
scale up to 4 ^ 32 items and atomically replace symbols when needed. Neat!
2024-10-30 15:43:53 -07:00
Nikita Smith
ee65ea3692
fast-path for string matching
2024-10-30 15:42:39 -07:00
Nikita Smith
baead67a99
minor fixes
2024-10-30 15:42:39 -07:00
Nikita Smith
e085dae636
pass over atomic operations
...
- use cast to volatile trick for atomic loads on x64 windows
- removed unnecessary includes on windows
- upgraded clang and gcc code paths to use modern atomics
Removed WIN32_LEAN_AND_MEAN because we were already compiling without it
and there is code path in os_gfx_win32.c that relies on including full
windows.h
2024-10-30 15:42:39 -07:00
Nikita Smith
8848080729
set explicitly heap and stack reserve and size
2024-10-30 15:42:39 -07:00
Nikita Smith
e1166abc63
typo in str8 compar name
2024-10-30 15:42:39 -07:00
Nikita Smith
6ffc065712
set dynamic base on /fixed:no
2024-10-30 15:42:39 -07:00
Nikita Smith
15b1ebcd21
coff section align from byte size helper
2024-10-30 15:42:39 -07:00
Ryan Fleury
37b27a9cff
correctly bounds-check cursor before doing snapping operations
2024-10-30 06:20:11 -07:00
Ryan Fleury
327fec3155
fix rdi_from_pdb build
2024-10-29 16:50:37 -07:00
Ryan Fleury
d0b97a3010
first pass at more comprehensive async layer, for replacing task system & providing single mechanism for async work, which is currently done ad-hoc in various layers
2024-10-29 16:27:21 -07:00
Ryan Fleury
1b5321ad8e
fix incorrect tooltip
2024-10-28 21:38:09 -07:00
Ryan Fleury
4769d0a8d4
narrow scope of name resolution for debugger collections; default launching to not attach to child processes, set up msgs to parameterize this
2024-10-28 15:37:28 -07:00
Ryan Fleury
41cddf96b8
preemptive adjacent pdb conversion on initial module load; tighten up c/c++ lexer for smaller string lexes
2024-10-28 13:52:36 -07:00
Ryan Fleury
100d3523d3
clamp floating root positions by window lower bound as well
2024-10-24 11:48:45 -07:00
Ryan Fleury
f0b1b46840
clamp thread tooltip callstack symbol names
2024-10-24 11:45:45 -07:00
Ryan Fleury
e9666e2edd
adjust disasm lexer to account for compiler-autogenerated symbol names
2024-10-24 11:41:59 -07:00
Ryan Fleury
8f932bdbf7
oops
2024-10-24 11:29:13 -07:00
Ryan Fleury
c3c9539f9b
prioritize string/symbol content in single-line pointer visualization; only use address-first when descending. also fix signed/unsigned visualization of character numeric values
2024-10-24 11:25:27 -07:00
Ryan Fleury
13341a458a
fix incorrect kill-single-process ui path
2024-10-23 13:23:22 -07:00
Ryan Fleury
62659c5161
introduce dedicated kill-all path; fix exit conditions for single-stepping stuck threads to be robust toward unexpected kills; fix exit conditions for kill-single-process path, to be more robust to halts; correctly report stop cause
2024-10-23 13:19:37 -07:00
Ryan Fleury
1ecabff7b6
prefer usage of pdbs in dbgi layer, if rdi path is not baked in, but pdb path *is* - otherwise the dbgi layer can simply choose a stale rdi file with no way to generate a new one.
2024-10-23 11:49:47 -07:00
Ryan Fleury
45f5a2d18f
accept / command line arguments on windows
2024-10-23 11:19:07 -07:00
Ryan Fleury
bcd16a4f29
only plug in jumping immediates to jump_dest_vaddr paths in stepping; ctrl flow info analysis path stops when it has to read memory or registers
2024-10-23 11:07:51 -07:00
Ryan Fleury
6d7858d445
parameterize tester with test data root folder; wrap tester run in top-levels cript
2024-10-22 17:51:21 -07:00
Ryan Fleury
c67f1a8b4a
fix empty file edge case in hash store / text cache
2024-10-22 16:19:11 -07:00
Nikita Smith
340396f9f7
fix arena usage
2024-10-22 15:07:49 -07:00
Nikita Smith
eb6aabe2d1
set block base pos
2024-10-22 15:06:39 -07:00
Nikita Smith
9ec7fb61ed
implemented /noimplib /noexp
2024-10-22 11:02:59 -07:00
Nikita Smith
dcffefd0c6
typo in string table lookup
2024-10-22 10:58:41 -07:00
Nikita Smith
5be2b5dfd9
alias for amd64 machine
2024-10-22 10:19:37 -07:00
Nikita Smith
7260baea85
implemented /PDBALTPATH and /RAD_DEBUGALTPATH
2024-10-21 18:03:28 -07:00
Nikita Smith
a802f2186b
actually push new block to list
2024-10-21 14:35:55 -07:00
Nikita Smith
a43678e311
voff -> line search fix
...
when line table contains duplicate virtual offsets we have to return
index of last virtual offset so following property is true:
'line_length = virtual_offsets[index + 1] - virtual_offsets[index]'
2024-10-21 13:32:04 -07:00
Ryan Fleury
edee84dd03
fix maximum munch rule application in text cache lexers
2024-10-21 10:37:04 -07:00
Ryan Fleury
4a211de2b3
do not bake path normalization into eval string <-> file path; this incorrectly assumes the normalization base directory, which is not correct when serializing/deserializing/etc. instead, just normalize on find-code-location.
2024-10-21 09:56:32 -07:00
Ryan Fleury
d0915ec9a7
eval expressions: unary +, correctly lex exponentiated numerics
2024-10-21 09:23:31 -07:00
Ryan Fleury
52245a8e5a
maintain explicit casts in cstring -> string paths
2024-10-21 08:51:19 -07:00
Nikita Smith
dbcecd99af
fix sizeof array types
2024-10-19 20:39:40 -07:00
Nikita Smith
68c0906570
print register name
2024-10-19 20:39:40 -07:00
Nikita Smith
26611c5454
moved IO related code to stand-alone file, piped all read/and writes
...
through new API, /rad_log now can enable read and/or write logs with
"io", "io_reads", "io_writes" parameters.
2024-10-19 16:36:32 -07:00
Nikita Smith
05d4faeb49
remove unsued func
2024-10-19 15:13:10 -07:00
Nikita Smith
d5c2e50e9a
rename import table regular -> static
2024-10-19 15:11:51 -07:00