Commit 40365cd
[interp] Fix doubled interpreter frames in DAC/DBI stack walks (#126953)
## Description
When DAC/DBI seeds StackFrameIterator from a CONTEXT pointing into
interpreted code, m_crawl.pFrame is initialized to the thread's top
explicit Frame, which is the InterpreterFrame that owns the executing
InterpMethodContextFrame chain.
ResetRegDisp reads the owning InterpreterFrame* from the CONTEXT's
first-arg register and advances m_crawl.pFrame past it before
ProcessCurrentFrame runs.
## Tests
Fixes the following interpreter debugger test failures:
- `StackWalking.NestedException`
- `StackWalking.ChildParentTest`
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>1 parent 920b310 commit 40365cd
1 file changed
Lines changed: 19 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
| 73 | + | |
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| |||
1087 | 1087 | | |
1088 | 1088 | | |
1089 | 1089 | | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
1090 | 1093 | | |
1091 | 1094 | | |
1092 | 1095 | | |
| |||
1160 | 1163 | | |
1161 | 1164 | | |
1162 | 1165 | | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
1163 | 1181 | | |
1164 | 1182 | | |
1165 | 1183 | | |
| |||
0 commit comments