Hi,

Running with debugmsg +snoop, I get an unhandled exception:

| Unhandled exception: priviledged instruction
|  in 32-bit code (0x400bc797).
| In 32 bit mode.
| 0x400bc797 (SNOOP_PrintArg+0x107 [snoop.c:236]): movzwl 0x0(%ecx),%eax
| 236                             if (s[i]==0) break;
| Wine-dbg>info reg
| Register dump:
|  CS:1013 SS:101b DS:101b ES:101b FS:008f GS:0000
|  EIP:400bc797 ESP:40746b00 EBP:40746bc8 EFLAGS:00010246(  R- 00  I  Z- -P1 )
|  EAX:00000000 EBX:400f7a3c ECX:ffffffff EDX:00000000
|  ESI:00000000 EDI:400bc260
| Wine-dbg>


Adding this exception to the handler lets the program continue
normally:

--- wine/relay32/snoop.c        Sun Aug  6 04:42:48 2000
+++ mywine/relay32/snoop.c      Sun Sep 17 17:02:12 2000
@@ -24,7 +24,8 @@
 
 static WINE_EXCEPTION_FILTER(page_fault)
 {
-    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION)
+    if (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ||
+        GetExceptionCode() == EXCEPTION_PRIV_INSTRUCTION)
         return EXCEPTION_EXECUTE_HANDLER;
     return EXCEPTION_CONTINUE_SEARCH;
 }

But maybe it is not the correct solution, eg under window the
exception in this case would have been EXCEPTION_ACCESS_VIOLATION?

Anyone who knows the answer?

Rein.
-- 
Rein Klazes
[EMAIL PROTECTED]

Reply via email to