Module: wine Branch: refs/heads/master Commit: 00bb4536b090cd1853a74929139665f593e81439 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=00bb4536b090cd1853a74929...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Apr 6 21:32:17 2006 +0200
ntdll: Print traces for EXC_CallHandler even with the assembly version.
---
dlls/ntdll/exception.c | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c index c1677b6..4444ba1 100644 --- a/dlls/ntdll/exception.c +++ b/dlls/ntdll/exception.c @@ -130,10 +130,7 @@ static DWORD EXC_CallHandler( EXCEPTION_ newframe.frame.Handler = nested_handler; newframe.prevFrame = frame; __wine_push_frame( &newframe.frame ); - TRACE( "calling handler at %p code=%lx flags=%lx\n", - handler, record->ExceptionCode, record->ExceptionFlags ); ret = handler( record, frame, context, dispatcher ); - TRACE( "handler returned %lx\n", ret ); __wine_pop_frame( &newframe.frame ); return ret; } @@ -266,7 +263,11 @@ static NTSTATUS call_stack_handlers( EXC }
/* Call handler */ + TRACE( "calling handler at %p code=%lx flags=%lx\n", + frame->Handler, rec->ExceptionCode, rec->ExceptionFlags ); res = EXC_CallHandler( rec, frame, context, &dispatch, frame->Handler, EXC_RaiseHandler ); + TRACE( "handler at %p returned %lx\n", frame->Handler, res ); + if (frame == nested_frame) { /* no longer nested */ @@ -413,6 +414,7 @@ void WINAPI __regs_RtlUnwind( EXCEPTION_ { EXCEPTION_RECORD record, newrec; EXCEPTION_REGISTRATION_RECORD *frame, *dispatch; + DWORD res;
#ifdef __i386__ context->Eax = (DWORD)returnEax; @@ -458,8 +460,12 @@ void WINAPI __regs_RtlUnwind( EXCEPTION_ }
/* Call handler */ - switch(EXC_CallHandler( pRecord, frame, context, &dispatch, - frame->Handler, EXC_UnwindHandler )) + TRACE( "calling handler at %p code=%lx flags=%lx\n", + frame->Handler, pRecord->ExceptionCode, pRecord->ExceptionFlags ); + res = EXC_CallHandler( pRecord, frame, context, &dispatch, frame->Handler, EXC_UnwindHandler ); + TRACE( "handler at %p returned %lx\n", frame->Handler, res ); + + switch(res) { case ExceptionContinueSearch: break;