microsoft / WinDbg-Samples

Sample extensions, scripts, and API uses for WinDbg.
MIT License
702 stars 118 forks source link

Add experimental (currently x64 only) new functionality to auto build live-ranges for function parameters #82

Closed wmessmer-msft closed 1 year ago

wmessmer-msft commented 1 year ago

This change adds some experimental new functionality on the parameters object accessible through a method call .PropagateLiveRangesFromCallingConvention(). Such method attempts to figure out where the parameters are located at each instruction of the function by placing arguments as per the calling convention and then walking the control flow graph of the disassembly via the data model disassembler. This can be of tremendous value when trying to understand code calling public APIs on publicly available symbols.

There are several things to currently note (re: limitations) about this functionality:

This change also fixes a minor bug: