Commit Graph

83 Commits

Author SHA1 Message Date
Ryan Fleury b5e604e6c8 source view bottom bar -> warn if file timestamp is newer than currently-used debug info 2024-01-18 16:53:30 -08:00
Ryan Fleury 23572ca63f notes 2024-01-18 12:11:01 -08:00
Ryan Fleury cb4cc5a4f7 differentiate between commands whose fastpaths select entire initial input vs. ones who don't; use it in case of text searching 2024-01-18 11:05:24 -08:00
Ryan Fleury 279daaa84a when beginning a query with old input, select entire query string, to easily replace it if needed 2024-01-18 11:01:47 -08:00
Ryan Fleury ac521a8f60 do not use graphical error reporting in auto-launched conversion instances of the debugger; will fix repeated debug info conversion fatal error exception message boxes 2024-01-18 10:36:15 -08:00
Ryan Fleury 3567e6c53d txti layer -> open files in write-shared mode, to prevent locking file from e.g. an editor which is writing; also only enable change detection when ui is actively updating 2024-01-18 10:04:00 -08:00
Ryan Fleury d2d72bd7ab ctrl: eliminate possibility of threads getting stuck at spoof address at the event-pump layer - if we report other events first, the step is already cancelled anyways v0.9.4-alpha 2024-01-17 20:58:55 -08:00
Ryan Fleury 268ca9ab53 trap net building & stepping algorithm overview 2024-01-17 19:52:36 -08:00
Ryan Fleury dea5e88906 also look for wmainCRTStartup 2024-01-17 17:07:16 -08:00
Ryan Fleury 25c31b0d77 look for mainCRTStartup as one additional possibility of a default entry point 2024-01-17 17:01:25 -08:00
Ryan Fleury ea2066063a do the same for omit/only 2024-01-17 16:34:02 -08:00
Ryan Fleury bdecb6d522 disable hook-based list view rule, since it is currently unimplemented and visualization engine hooks need to mature before it is formally implemented in them 2024-01-17 16:31:26 -08:00
Tony L 739d0977b6 Disable hover if view is scrolling
Also set the first frame index to current index so that the hover popup
doesn't instantly appear once the scroll has ended.
2024-01-17 14:49:29 -08:00
Ryan Fleury 717572c202 non-virtual-inheritance case in mule_main 2024-01-17 13:56:54 -08:00
Ryan Fleury d3931fd3e2 base class -> derived class autocast in eval system; completion of first pass 2024-01-17 13:28:03 -08:00
Ryan Fleury a0a6fc0988 raddbg_from_pdb -> dont skip all members of struct simply because we currently do nothing with vfunctab 2024-01-17 10:36:23 -08:00
Ryan Fleury 7d8f0d478e checkpoint #2 of same... 2024-01-17 09:16:33 -08:00
Ryan Fleury d849b83acb checkpoint in implementing dynamic type resolution in the eval system, for taking a base-class-ptr & by-default patching in the appropriate debug-info-determined derived type 2024-01-16 17:33:17 -08:00
Ryan Fleury adbe42c907 add non-pure dynamic inheritance case 2024-01-16 17:12:51 -08:00
Martins Mozeiko 99b2d9d6d0 minor d3d11 code improvements
1) automatically tries WARP driver if HW creation fails
2) HRESULT checks for swap chain creation or Present call (can fail if GPU driver crashes)
3) checks HRESULT of D3DCompile functions instead of using shader pointer as error condition
4) releases shader blob memory when not needed anymore
2024-01-16 17:09:07 -08:00
Ryan Fleury 5c179adb68 extend binary * voff -> symbol name lookup to include global variable vmap if scope vmap turns up short; extend address visualization rules to more ambitiously visualize what is being pointed at 2024-01-16 15:29:50 -08:00
Ryan Fleury de6c94ce8f set up nil udt in raddbg conversion - used for empty udt info for e.g. pure virtual structs 2024-01-16 15:05:06 -08:00
Ryan Fleury 743984c318 eliminate stray zero byte in output logs 2024-01-16 14:48:29 -08:00
Ryan Fleury a026ae41f1 import example of user-defined type node which does NOT have a udt entry - this is the cause of the virtual interface display bugs 2024-01-16 14:13:34 -08:00
Ryan Fleury 114dd96e50 data member offset sorting -> take into account base offset, when doing inheritance graph search; visualize inheritance chain for inherited members; use contextual base color in code labels, do not assume default code color implicitly 2024-01-16 14:01:37 -08:00
Ryan Fleury e2e1382508 use same type key -> members path in eval compiler as in eval visualization paths 2024-01-16 12:03:24 -08:00
Ryan Fleury 1c40afc067 import notes from email bugs; add non-virtual-but-still-multiple-inheritance example to mule_main; slightly increase loudness of exception/trap-caused stop ctrl events 2024-01-16 11:59:44 -08:00
Ryan Fleury 79677875c4 fix 64-bit address/value visualization in memory view bottom bar 2024-01-16 11:21:19 -08:00
Ryan Fleury c2e90225b9 type graph data member gathering -> follow single-inheritance base class members + sort members by offset 2024-01-16 11:12:08 -08:00
Ryan Fleury 057a6f3e8e eliminate duplicate binary dbgi parsing requests 2024-01-15 21:33:59 -08:00
Ryan Fleury a9ec1a05b1 notes 2024-01-15 20:30:11 -08:00
Ryan Fleury 2454d426ed eliminate dbgi layer evictor thread - exe and debug info eviction needs to be synchronous with control thread, to allow for HMH-style hotloading. this change moves all dbgi layer binary releasing to the caller thread of the refcount -> 0 dbgi_binary_close. 2024-01-15 20:13:49 -08:00
Ryan Fleury cf58137b0f todo notes 2024-01-15 15:38:12 -08:00
Ryan Fleury c40d0b3acc hot reloading mule 2024-01-15 13:04:25 -08:00
Ryan Fleury dd433c89ff fix ordering of local itypes within itype blocks in type name map; latter added itypes need to come *first* v0.9.3-alpha 2024-01-15 08:21:50 -08:00
Ryan Fleury d2ec1d6a3a interpret & visualize __fastfail events correctly 2024-01-14 21:36:39 -08:00
Ryan Fleury f736533933 further mule_main coverage 2024-01-14 20:28:15 -08:00
Ryan Fleury 8d82accc26 complete application of hash adjustment table in pdb -> raddbg converter 2024-01-14 18:12:45 -08:00
Ryan Fleury f61688fff5 checkpoint in implementing pdb hash adjustment table parsing & application 2024-01-14 17:20:35 -08:00
Ryan Fleury c88f715ac2 fix horizontal scroll in text containers causing repeated hidden animation 2024-01-14 14:53:45 -08:00
Ryan Fleury cac911fbf5 add info on converter to readme roadmap section 2024-01-14 11:34:18 -08:00
Ryan Fleury 1261aa55b0 include project short-to-medium-term roadmap in readme 2024-01-14 11:28:15 -08:00
Ryan Fleury 5fe3f56d33 line step into -> if call redirects to a function dispatch unconditional jump table, move stopper trap in trap net to unconditional jump destination, and skip the jump table entirely 2024-01-14 07:02:30 -08:00
Ryan Fleury 0c497abba6 only supply config defaults when doing user config application 2024-01-14 06:42:49 -08:00
Ryan Fleury 625e197bc1 eval parser -> prefer later type name matches to earlier v0.9.2-alpha 2024-01-13 21:14:58 -08:00
Ryan Fleury d40c9edb90 type graph -> fix edge case of last-incrementally-changed type's members being considered out-of-bounds of member info 2024-01-13 21:13:29 -08:00
Ryan Fleury a6a6eed091 accept enter for confirm acceptance 2024-01-13 20:06:19 -08:00
Ryan Fleury 032df717d8 if loading completely black theme from config, reset to default theme, for cases of busted config files 2024-01-13 17:21:38 -08:00
Ryan Fleury bcdc2f3026 more mule_module coverage; bugfix edge-case memory view range calculation causing flipped min/max 2024-01-13 16:37:34 -08:00
Jack Punter 3917218a4e Fix horizontal chunk movement
The current horizontal chunk motion (ctrl + left/right arrow by default) does not work like most other editors, subverting the users expectation. The behaviour of most editors from my experience is as follows:
1. Skip any leading whitespace in the motion
2. If the next char is:
    - Alphanumeric or `_`, move up until the next symbol that isn't one of those
    - not one of the above move either up until: the next whitespace character or the same rules as above if an alphanumeric or `_` is encountered before whitespace.

e.g. Assume the current cursor position and string `... |mystruct.member ...`
The current code will move to the end of the whole struct accessor: `... mystruct.member| ...`
Most other editors would move to the end of the struct name: `... mystruct|.member ...`
In this case the current behaviour may not seem _that_ agregious, but in other cases its much more annoying
especially if you're looking to copy into a watch window or something as in this case:
`|ui_nav_scanned_column_from_column(String8 string, ...)`
the cursor will move to: `ui_nav_scanned_column_from_column(String8| string, ...)`
which is almost certainly not what the user wanted.

This behaviour means that if you want to copy a symbol, you can consistantly achieve this by chunk moving to one end, pressing shift, then chunk moving to the other end without ever getting extra symbols/whitespace. This is currently not possible with existing chunk motions.
2024-01-13 15:33:07 -08:00