Commit Graph

  • feb5249f47 first pass at faster & simplified vmap baking: sort ranges by both base voff *and* size, generate vmap directly from sorted ranges w/ stack machine; avoid quadratic pop Ryan Fleury 2025-10-14 16:01:51 -07:00
  • 0d06b7d2d2 regrel32: interpret rbp-relative offsets as potential parameters as well (this only shows up with /ZI - usually everything is rsp-relative) Ryan Fleury 2025-10-14 10:13:44 -07:00
  • 92517ef2d7 re-enable single-step on empty trap net, if no line info is present Ryan Fleury 2025-10-14 10:00:31 -07:00
  • 010825a0bb checkpoint on attempt at wide vmap baking Ryan Fleury 2025-10-13 17:32:53 -07:00
  • 89be41fda9 checkpoint: first pass at wide vmap baking Ryan Fleury 2025-10-13 17:00:01 -07:00
  • b688c69f13 radbin: compress sections wide, deduplicate work Ryan Fleury 2025-10-13 13:07:37 -07:00
  • ec39cefc9e correctly decompress rdis in radbin dumping path; do not compress zero-sized sections in rdi make Ryan Fleury 2025-10-13 12:47:46 -07:00
  • 87edc583bf define ctrl entity eval spaces once, in ctrl layer - nest in rd layer Ryan Fleury 2025-10-13 12:40:28 -07:00
  • 6bcbf5909d correctly handle bitfield type operators in eval viz string iterator Ryan Fleury 2025-10-13 11:23:49 -07:00
  • 84cb0f0a44 Merge remote-tracking branch 'EpicGamesExt/master' ed 2025-10-10 21:50:09 -04:00
  • 5c1c44d46e ignore vscode settings ed 2025-10-10 21:50:02 -04:00
  • b41bf5b39e update readme Ryan Fleury 2025-10-10 16:20:34 -07:00
  • b9be24a17d fix releasing of nil gpu buffer handles Ryan Fleury 2025-10-10 15:53:56 -07:00
  • c934892006 bump version to v0.9.23 Ryan Fleury 2025-10-10 14:55:07 -07:00
  • b09e539534 fix build script for pgo Ryan Fleury 2025-10-10 14:35:13 -07:00
  • 8e452f10ac v0.9.22-alpha changelog Ryan Fleury 2025-10-10 13:50:47 -07:00
  • ac378b0ac2 switch in file menu Ryan Fleury 2025-10-10 13:10:02 -07:00
  • 7fcba83282 use debug info to infer language for files from including-unit language, if we cannot deduce it from extensions / settings (e.g. C++ .inl files) Ryan Fleury 2025-10-10 13:08:43 -07:00
  • bd9372f07c use current working directory as working directory for command line targets Ryan Fleury 2025-10-10 12:56:24 -07:00
  • 43fcc21490 clang build fixes Nikita Smith 2025-10-10 10:19:47 -07:00
  • 3bd89b1fad switch over to new MD5 hash lib Nikita Smith 2025-10-10 10:15:22 -07:00
  • 061b5c5955 added CFA instruction parser, interpreter, and a dumper Nikita Smith 2025-10-10 10:09:46 -07:00
  • c738768e41 demon/win32: do not assume actual_read is valid after a failed process memory read Ryan Fleury 2025-10-09 16:05:13 -07:00
  • da44e89a92 fix clang build Ryan Fleury 2025-10-09 13:57:41 -07:00
  • 9022efd3ab new strategy - allow artifact creation to report a completed generation which differs from the requested generation, thus preventing duplicate gen requests (in the case of ctrl process memory) Ryan Fleury 2025-10-09 11:24:48 -07:00
  • 28bb158c61 revert last change - that will forever-retry those reads! need a slightly different retry mechanism Ryan Fleury 2025-10-09 11:10:14 -07:00
  • fe6eff9d3b pass requested gen to artifact creation hooks, use to retry ctrl memory reads on many successive mem gen bumps - prevents spurious duplicate hashes in content store history Ryan Fleury 2025-10-09 10:40:31 -07:00
  • 4268c1de76 bump load gen on dbgi close also Ryan Fleury 2025-10-08 15:59:15 -07:00
  • 96477c65dd switch to martins hash Ryan Fleury 2025-10-08 12:58:59 -07:00
  • 7eb64dbd13 metagen does not have this macro... Nikita Smith 2025-10-07 20:42:52 -07:00
  • e1986c9594 clang fixes Nikita Smith 2025-10-07 20:37:00 -07:00
  • 401d7b47df factor out C++ ABI exception handling Nikita Smith 2025-10-07 20:28:06 -07:00
  • 3560c7d3e7 dump CIE and FDE Nikita Smith 2025-10-07 18:14:37 -07:00
  • e4f6c0fc8e helper for querying arch bittness in byte size Nikita Smith 2025-10-07 18:13:36 -07:00
  • 7cf3eaf73f parsers for CIE and FDE Nikita Smith 2025-10-07 18:13:07 -07:00
  • 62ae5ca3f5 stringify format and cfa opcodes enums Nikita Smith 2025-10-07 18:11:43 -07:00
  • fb0d42e6d8 extend stb_sprintf.h with formatter for Rng1U64 via %r Nikita Smith 2025-10-07 17:14:26 -07:00
  • 9e110bbe6d resolve register space -> primary module space in all visualizers which work on, broadly speaking, ranges of memory Ryan Fleury 2025-10-07 17:23:58 -07:00
  • fb825247ed resolve register-space evaluations to primary-module space evaluations in the visualizers Ryan Fleury 2025-10-07 17:20:44 -07:00
  • 7ff5764696 store successful queries keyed by target section as well, to avoid different table evals having different success states - fixes autocomplete flicker Ryan Fleury 2025-10-07 16:57:05 -07:00
  • d2feaa5f56 oops, fix dbgi search arenas leak! Ryan Fleury 2025-10-07 16:45:02 -07:00
  • 166b84cf30 eliminate content-layer-specific u128 hash Ryan Fleury 2025-10-07 16:24:54 -07:00
  • cd26bf1bcc only submit empty ctrl process memory artifacts if we have no other history; only retry on mem gen tears & valid ranges Ryan Fleury 2025-10-07 16:06:59 -07:00
  • ec69ebff35 fix tick-deferred command mechanism in debug engine Ryan Fleury 2025-10-07 15:50:52 -07:00
  • 783988c0ac expand ctrl process memory cache access to allow waiting for fresh results, rather than any results; use when doing a ctrl process memory write, to prefer viewing less stale data on exact frame. also expand trap net generation with success bit, use to retry stepping commands across frames if process memory reads are hindered. abort after N retries. Ryan Fleury 2025-10-07 15:44:35 -07:00
  • 2cc7f45ec1 promote register values to primary module space values for memory view specifically Ryan Fleury 2025-10-07 15:06:46 -07:00
  • f67cf8b59d remove incorrect space promotion rule Ryan Fleury 2025-10-07 14:51:34 -07:00
  • ec978d8d46 do not use complex register union types for common registers; just use primitive integer types instead Ryan Fleury 2025-10-07 14:41:51 -07:00
  • ab841035c0 preserve operand size info for shift operations, use along with typegroup to do correct sign preservation on shifts Ryan Fleury 2025-10-07 14:20:36 -07:00
  • f60ccb60f1 do not attach last successful filter to view state, since does not apply in all cases - fix artifact staleness default marker (if we do not get an artifact at all, then it is stale) Ryan Fleury 2025-10-07 12:09:14 -07:00
  • 0f0e36d40b disambiguate rip identifier in disasm base address calculation Ryan Fleury 2025-10-07 11:45:09 -07:00
  • 2acf77ad9e fix impossible disasm loading condition; do not go wide on dbgi matching unless we have significant-enough dbgis Ryan Fleury 2025-10-07 11:34:30 -07:00
  • fadef8a886 log source of dwarf info more specifically Ryan Fleury 2025-10-07 11:03:18 -07:00
  • fe8608ee1c more verbose logging in radbin Ryan Fleury 2025-10-07 10:37:15 -07:00
  • d20cce536a rdim bake parameter joining, source rdi bake parameters from *all* inputs, and not mutually-exclusive dwarf vs. pdb cases Ryan Fleury 2025-10-07 10:20:19 -07:00
  • b02a815a27 flush dwm on resize; use WS_EX_NOREDIRECTIONBITMAP window flag to avoid dwm bug Ryan Fleury 2025-10-06 17:34:19 -07:00
  • 2a7177861b remove extra watch row column cases - simplify most cases down to expr / eval. use extra 'note' for watch window cells to annotate type info - this sacrifices the full type evaluation cell, and instead uses a small extra bit of text to denote the type for quick reading. but this full type cell is not needed in most cases, and it can always be reobtained with an explicit typeof evaluation. Ryan Fleury 2025-10-06 17:06:00 -07:00
  • 6f4e78d06c do not try to release failed-creation textures Ryan Fleury 2025-10-06 14:55:51 -07:00
  • 284524e0c4 fix incorrect ctx check in win32 demon Ryan Fleury 2025-10-06 14:35:41 -07:00
  • 835a57f918 extend dbgi matching system with preferred dbgi key, to disambiguate results - fill with primary module dbgi in eval, to always prefer selected thread context when applicable Ryan Fleury 2025-10-06 14:31:57 -07:00
  • d2216019b9 prefer primary module, or modules with space matching the primary module's, when doing top-level debug info name matching in eval Ryan Fleury 2025-10-06 14:23:34 -07:00
  • af4f18ed98 sketch out more flexible texture 2d format codes Ryan Fleury 2025-10-06 13:52:59 -07:00
  • 213dc6a6a7 fix busted ctrl memory stream, when bad memory & null terminated (#647); do not refresh repeatedly due to loading, if any raddbg window is not focused Ryan Fleury 2025-10-06 11:38:58 -07:00
  • 811f316ca2 fix clang warnings in dwarf -> rdi Ryan Fleury 2025-10-06 11:20:12 -07:00
  • da0028033d changed dumper to print .debug_info in more compact form Nikita Smith 2025-10-03 20:10:09 -07:00
  • b1b83c4e3d bugfix const64 interp Nikita Smith 2025-10-03 17:16:45 -07:00
  • 32e344c806 remove dbgi name from ood warning Ryan Fleury 2025-10-02 18:33:58 -07:00
  • 073a0fcf3a add checksum checking for timestamps; fix incorrect sha256 async checksum calculation; plug file-ood back in Ryan Fleury 2025-10-02 18:32:58 -07:00
  • f8229a390d merge conf fix Nikita Smith 2025-10-02 18:15:27 -07:00
  • 9acff9ecd2 use check sum defn from rdi.h Nikita Smith 2025-10-02 18:06:50 -07:00
  • 555f8ec6ff grab ranges in compile unit tag for the unit vmap Nikita Smith 2025-10-02 18:02:57 -07:00
  • 4ba1ee6e06 follow C type conversion rules in the expression transpiler Nikita Smith 2025-10-02 17:11:21 -07:00
  • 1f9ce6e6ba eval opcode stubs Nikita Smith 2025-10-02 17:08:50 -07:00
  • c7774c7582 helper for convert opcode Nikita Smith 2025-10-02 17:08:29 -07:00
  • 1264115d13 define push and pop counts for expression opcodes Nikita Smith 2025-10-02 17:07:38 -07:00
  • 954633bba2 add opcode for swapping top two values on the stack Nikita Smith 2025-10-02 18:01:49 -07:00
  • 48c7e45535 helper for determining if bytecode has dependency on TLS Nikita Smith 2025-09-30 17:14:59 -07:00
  • 0f9df9bc40 change opcode type to U8 Nikita Smith 2025-09-30 16:36:35 -07:00
  • 0e9739f964 expression parser Nikita Smith 2025-09-30 16:29:19 -07:00
  • da74b8595c add operand count for expression opcodes Nikita Smith 2025-09-30 16:28:18 -07:00
  • 569481c779 plug in debugger-side checksum computation & comparison Ryan Fleury 2025-10-02 17:29:59 -07:00
  • ee759dbac7 sha1/sha256 Ryan Fleury 2025-10-02 17:07:16 -07:00
  • 104e72999c base layer hashing algorithms, fill out md5 Ryan Fleury 2025-10-02 16:20:34 -07:00
  • 2d672d232f checksum baking & rdi changes; checksum dumping Ryan Fleury 2025-10-02 16:12:53 -07:00
  • c1e32b93a7 switch from variable size checksum data sections to just making well-defined fixed size ones for all of the concrete cases Ryan Fleury 2025-10-02 15:43:01 -07:00
  • 403d05cc8b first pass at checksum baking Ryan Fleury 2025-10-02 14:17:21 -07:00
  • 56b5792546 rdi checksum kinds, rdim checksums, pull parsed checksum kinds/values from cv, fill out rdim checksums (still haven't put into rdi itself yet) Ryan Fleury 2025-10-02 13:40:45 -07:00
  • b88c45d737 dbg info conversion events Ryan Fleury 2025-10-02 12:44:42 -07:00
  • 871daf3f22 only push unique hashes to key history in content layer; fix staleness detection in search Ryan Fleury 2025-10-02 12:08:31 -07:00
  • 32c4da878f fix radbin build Ryan Fleury 2025-10-02 11:53:53 -07:00
  • a58c23754a di2 -> di; delete old dbg info layer, delete async layer Ryan Fleury 2025-10-01 17:30:08 -07:00
  • 544fea0929 actually - keep (path * stamp -> key) and (key -> path * stamp) history - we do not need to evict these. also fix incorrect file map view closure on debug info close Ryan Fleury 2025-10-01 17:19:15 -07:00
  • 2cb94c422a update key -> path and path -> key records on debug info closing Ryan Fleury 2025-10-01 16:36:45 -07:00
  • 47e2014250 reset high priority bit Ryan Fleury 2025-10-01 15:53:58 -07:00
  • 24670e3095 fix di2 successful search continuity Ryan Fleury 2025-10-01 15:46:42 -07:00
  • 7707ba1d60 dwarf debug info option in builds, fix heuristic to try to load debug info from exe itself Ryan Fleury 2025-10-01 15:36:36 -07:00
  • db66beaf22 correctly interpret conversion completions; single high priority re-loop bit for async threads Ryan Fleury 2025-10-01 14:32:44 -07:00
  • b92821b503 convert less aggressively, fix incorrect di2 request batch clearing Ryan Fleury 2025-10-01 11:44:47 -07:00
  • 24406d1e4e use lack of user bps as hint that no rdis are necessary to wait on Ryan Fleury 2025-10-01 11:24:37 -07:00
  • cd048a878b fix module req cache bug; fall back on exe path as debug info Ryan Fleury 2025-09-30 17:54:31 -07:00