[Bug 30572] New: Add support for vectored continue handlers (AddVectoredContinueHandler, RemoveVectoredContinueHandler)
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed May 2 08:12:51 CDT 2012
http://bugs.winehq.org/show_bug.cgi?id=30572
Bug #: 30572
Summary: Add support for vectored continue handlers
(AddVectoredContinueHandler,
RemoveVectoredContinueHandler)
Product: Wine
Version: 1.5.3
Platform: x86
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P2
Component: ntdll
AssignedTo: wine-bugs at winehq.org
ReportedBy: focht at gmx.net
Classification: Unclassified
Hello,
an improvement, might come handy in future.
Newer .NET runtimes (3.x/4.x) and certain applications make use of vectored
continue handlers for better error reporting/diagnosis.
Currently there is no harm if the export is not found in kernel32 (error
reporting using event api):
--- snip ---
003b:Call KERNEL32.GetModuleHandleW(79203ef8 L"kernel32.dll") ret=792a7116
003b:Ret KERNEL32.GetModuleHandleW() retval=7b810000 ret=792a7116
003b:Call KERNEL32.GetProcAddress(7b810000,792a7210
"AddVectoredExceptionHandler") ret=792a712d
003b:Ret KERNEL32.GetProcAddress() retval=7bc21e3c ret=792a712d
003b:Call KERNEL32.GetProcAddress(7b810000,792a71f0
"RemoveVectoredExceptionHandler") ret=792a713a
003b:Ret KERNEL32.GetProcAddress() retval=7bc23534 ret=792a713a
003b:Call KERNEL32.GetProcAddress(7b810000,792a71d4
"AddVectoredContinueHandler") ret=792a7147
003b:Ret KERNEL32.GetProcAddress() retval=00000000 ret=792a7147
003b:Call KERNEL32.GetProcAddress(7b810000,792a71b4
"RemoveVectoredContinueHandler") ret=792a7154
003b:Ret KERNEL32.GetProcAddress() retval=00000000 ret=792a7154
003b:Call ntdll.RtlAddVectoredExceptionHandler(00000001,791f5a7c) ret=792a7182
003b:Ret ntdll.RtlAddVectoredExceptionHandler() retval=001586a0 ret=792a7182
003b:Call KERNEL32.GetModuleHandleW(792083bc L"mscoree.dll") ret=792a7064
003b:Ret KERNEL32.GetModuleHandleW() retval=79000000 ret=792a7064
003b:Call KERNEL32.GetProcAddress(79000000,00000018) ret=792a7086
003b:Ret KERNEL32.GetProcAddress() retval=79008017 ret=792a7086
003b:Call KERNEL32.GetProcAddress(603b0000,00000018) ret=79008056
003b:Ret KERNEL32.GetProcAddress() retval=603b4470 ret=79008056
003b:Call KERNEL32.SetUnhandledExceptionFilter(603e468a) ret=603b4791
003b:Ret KERNEL32.SetUnhandledExceptionFilter() retval=00404395 ret=603b4791
...
--- snip ---
MSDN:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms679273%28v=vs.85%29.aspx
(AddVectoredContinueHandler)
http://msdn.microsoft.com/en-us/library/windows/desktop/ms680567%28v=vs.85%29.aspx
(RemoveVectoredContinueHandler)
---
Some more information how it works:
Extract from "Chapter 25 - Unhandled Exceptions, Vectored Exception Handling,
and C++ Exceptions"
Windows Via C/C++
by Jeffrey Richter and Christophe Nasarre
Microsoft Press 2008
http://vmg.pp.ua/books/%D0%9A%D0%BE%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D1%8B%D0%98%D1%81%D0%B5%D1%82%D0%B8/Microsoft/win32api/Windows%20Via%20C%20CPLUSPLUS/316856622.htm
MSDN blog:
http://blogs.msdn.com/b/zhanli/archive/2010/06/25/c-tips-addvectoredexceptionhandler-addvectoredcontinuehandler-and-setunhandledexceptionfilter.aspx
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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