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