[Bug 28089] exception handling code touches stack for exceptions handled by the debugger

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Jul 16 10:54:13 CDT 2018


https://bugs.winehq.org/show_bug.cgi?id=28089

--- Comment #8 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

revisiting, still present.
Encountered while investigating bug 45249

Copy/pasta from my comment https://bugs.winehq.org/show_bug.cgi?id=45249#c5

---

Another debugging tidbit: the app protection stores state data past the current
ESP which makes single stepping painful. You have to recognize those sequences
and *not* single step nearby -> bug 28089 ("exception handling code touches
stack for exceptions handled by the debugger")

Examples:

--- snip ---
0051D033  F0:DB2B       LOCK FLD TBYTE PTR DS:[EBX]                             
0051D036  83EC 04       SUB ESP,4
0051D039  890424        MOV DWORD PTR SS:[ESP],EAX
0051D03C  C1F8 00       SAR EAX,0                                               
0051D03F  897424 FC     MOV DWORD PTR SS:[ESP-4],ESI ; taint if single stepped
0051D043  83EC 04       SUB ESP,4
0051D046  83EC 04       SUB ESP,4
0051D049  890C24        MOV DWORD PTR SS:[ESP],ECX   
0051D04C  894424 FC     MOV DWORD PTR SS:[ESP-4],EAX ; taint if single stepped
0051D050  83EC 04       SUB ESP,4
0051D053  60            PUSHAD
--- snip ---

--- snip ---
00B1D0F3  5F            POP EDI
00B1D0F4  894424 FC     MOV DWORD PTR SS:[ESP-4],EAX ; taint if single stepped
00B1D0F8  F3:EB 02      REP JMP SHORT 00B1D0FD
00B1D0FB  D15CE9 B1     RCR DWORD PTR DS:[EBP*8+ECX-4F],1
00B1D0FF  E4 FF         IN AL,0FF
00B1D101  FFC3          INC EBX
00B1D103  E9 02000000   JMP 00B1D10A
--- snip ---

$ wine --version
wine-3.12-111-g8ae98cfdc3

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list