Commit Graph

131 Commits

Author SHA1 Message Date
Mike McCormack 51c583f9a9 Use NT status codes for exceptions. 2005-06-25 18:31:00 +00:00
Mike McCormack 6b636e3e7b Use RTL_CRITICAL_SECTION instead of CRITICAL_SECTION. 2005-06-25 18:00:57 +00:00
Mike McCormack 04f9f1b066 Don't include winbase.h or winerror.h when not necessary. 2005-06-21 09:52:40 +00:00
Mike McCormack 5b2d5fd758 Use HANDLE instead of HKEY in the NT API. 2005-06-17 13:58:33 +00:00
Alexandre Julliard bd000a0203 Removed some unnecessary inclusions of thread.h 2005-06-06 20:13:08 +00:00
Dimi Paun 366b753a50 Use the more idiomatic form of iterating through the list. 2005-05-18 09:45:53 +00:00
Mike Hearn 5037202554 Make unimplemented function message a bit prettier. 2005-05-13 13:56:47 +00:00
Alexandre Julliard 26050b49d5 Prefix the internal name of all register functions with __regs_ for
better consistency and to make automated checking possible.
2005-05-07 18:10:30 +00:00
Dmitry Timoshkov 0497af09a7 Match RaiseException and EXCEPTION_RECORD to SDK definitions. 2005-02-24 13:15:36 +00:00
Alexandre Julliard d5088668de Generate stub entries on the fly for missing entry points instead of
returning a deadbeef pointer.
2004-12-14 20:03:23 +00:00
Vincent Béron 2c1b35dd17 Add some more Alpha asm code and Alpha-specific parts. 2004-10-18 21:27:52 +00:00
Francois Gouget 493cf88bb6 Remove these Wine-only types:
EnumICMProfilesProcCallback
  PEXCEPTION_REGISTRATION_RECORD
Don't test these Wine-only types:
  EMRSETTEXTJUSTIFICATION
  EXCEPTION_REGISTRATION_RECORD
Remove EXCEPTION_FRAME, it doesn't exist at all.
2004-08-22 02:07:13 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Alexandre Julliard 950808af3b Trace register contents on exception. 2004-02-06 05:28:23 +00:00
Alexandre Julliard 5c92266987 Fixed RtlUnwind signature (reported by Pierre d'Herbemont). 2003-12-30 19:26:19 +00:00
Alexandre Julliard e85491274d Moved the DEFINE_REGS_ENTRYPOINT macros to include/wine/port.h.
Removed the C fallback code, do that in the callers instead.
2003-12-04 05:48:03 +00:00
Pavel Roskin 0f252372b7 Include ntdll_misc.h to avoid undefined reference to GetProcessHeap
when compiled without optimization.
2003-10-30 23:06:41 +00:00
Alexandre Julliard 07931f2d70 Removed no longer needed SIGNAL_Unblock() function. 2003-10-28 21:46:46 +00:00
Alexandre Julliard 54b1d87daf Implemented Add/RemoveVectoredExceptionHandler. 2003-10-28 21:22:50 +00:00
Alexandre Julliard 2e4f0bc9ba Use sigsetjmp instead of setjmp in Wine internal exception handlers to
make sure the signal mask is restored properly.
2003-10-24 04:30:13 +00:00
Alexandre Julliard e55d5937ac Set or clear the BeingDebugged flag in the PEB when a debugger is
attached to or detached from a process.
Don't send exception events to the server unless a debugger is
present.
2003-10-14 01:30:42 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard b91e9cb3e6 Renamed a few more TEB fields. 2003-08-28 03:44:41 +00:00
Alexandre Julliard ee106783d0 Renamed EXCEPTION_FRAME to EXCEPTION_REGISTRATION_RECORD since that
seems to be the official name.
2003-08-28 03:07:56 +00:00
Alexandre Julliard 3be5d62b29 Moved 16-bit calls initialization and exception handling to kernel32.
Store the call_to_16 return address on the stack from the C code so
that we don't need two variants of call_to_16_regs.
2003-08-25 00:56:37 +00:00
Francois Gouget 3ca761220a Spelling fixes (s/occured/occurred/ and variants). 2003-07-15 20:53:39 +00:00
Alexandre Julliard 6a26e3f7ac Split signal blocking code out of SIGNAL_Reset into SIGNAL_Block.
Added SIGTERM handler.
2003-03-21 23:45:26 +00:00
Alexandre Julliard 8bc93e2d6f Print dll name too for stub exceptions. 2003-02-18 23:25:34 +00:00
Andreas Mohr 37fc599268 Added FIXME on stub exception. 2003-02-11 21:56:59 +00:00
Dimitrie O. Paun 737d4be892 Move excpt.h out of include/msvcrt/ as it does not conflict with any
standard Unix header.
2002-12-12 23:34:01 +00:00
Alexandre Julliard 435e2e63f4 winnt.h should not be self-contained, it must depend on windef.h so
that STRICT works correctly; moved some definitions back to windef.h
where they belong, and removed a couple of definitions that don't
exist on Windows.
2002-12-10 22:56:43 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Marcus Meissner c87c2c4f1a Use Iar (Instruction Address Register) instead of Fill[0].
siginfo.si_code uses the lower 16bit for the type of the exception.
2002-08-30 00:00:57 +00:00
Marcus Meissner 9fc17ee371 Implemented server context/ptrace handling for Linux/PowerPC. 2002-08-17 01:19:06 +00:00
Alexandre Julliard 6006757996 Setup exception frame around 16-bit calls to unwind stack properly. 2002-08-13 03:29:17 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 894b188fcf Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch] 2002-04-25 21:40:56 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Peter Hunnisett 73ab649ced New file msvcrt/excpt.h. Move some stuff out of winnt.h into it. 2002-02-25 20:10:35 +00:00
Ove Kaaven d553a9b000 Made the output of --debugmsg +seh a bit more verbose. 2002-01-02 21:44:05 +00:00
Alexandre Julliard 9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Patrik Stridvall 3c0211f969 Cleanup code that is strange or difficult to parse. 2001-09-11 00:32:32 +00:00
Alexandre Julliard 37e9503ae8 Moved server.h to include/wine. 2001-07-19 00:39:09 +00:00
Patrik Stridvall 044855c6ec Documentation fixes. 2001-07-11 18:56:41 +00:00
Patrik Stridvall 8b216b3d02 Documentation ordinal fixes. 2001-06-19 18:20:47 +00:00
Ove Kaaven e4a98ec195 Block SIGINT and SIGALRM in signal handlers. 2001-06-15 19:43:15 +00:00
Alexandre Julliard 67a749999a New set of macros for server calls; makes requests without variable
part somewhat faster.
2001-02-27 02:09:16 +00:00
Alexandre Julliard e939eae00b Made exception_event_request non-blocking, and added
get_exception_status to retrieve the exception result returned by the
debugger.
2001-01-26 20:45:41 +00:00
Ulrich Weigand d4be9197f1 Added missing prototypes to avoid compile warnings on Solaris. 2001-01-11 00:53:25 +00:00
Alexandre Julliard dfd3d4ada2 Moved GET_IP out of winnt.h. 2000-11-25 23:56:20 +00:00
Dimitrie O. Paun 0b7a7bbc06 Include config.h in files that test for constants defined in it. 2000-11-25 01:31:17 +00:00
Alexandre Julliard 92643003cf Converted a lot of server requests to the new exception handling
mechanism.
2000-08-31 01:59:51 +00:00
Alexandre Julliard 9c2370bd75 Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard a007f3364a Moved a few non-standard headers into their respective dlls. 2000-08-09 00:54:58 +00:00
Alexandre Julliard 3850c1ae16 Moved most USER string functions to dlls/user.
Cleaned up a few more inter-dll dependencies.
2000-08-06 02:42:46 +00:00
Alexandre Julliard 0aa6cc298e Removed a few external dependencies from ntdll. 2000-07-29 21:56:59 +00:00
Alexandre Julliard ea0d028a0b Added specific routines for OUTPUT_DEBUG_STRING and EXCEPTION debug events.
Generate a breakpoint event on process attach.
Misc cleanups in request handling.
2000-03-10 22:16:10 +00:00
Alexandre Julliard 00641d5b1c Removed PDB32_DEBUGGED flag and send all debug events unconditionally.
Implemented IsDebuggerPresent().
2000-03-08 16:41:37 +00:00
Alexandre Julliard 7d0dd5f327 Added DbgBreakPoint. Fixed exception record contents on SIGTRAP. 2000-03-07 13:10:21 +00:00
Ulrich Weigand 7d43bceb7e Moved debugger to libwine to make it available to WineLib apps.
Try to invoke external debugger if internal debugger crashes.
Try to handle early invocation of debugger more gracefully.
2000-01-30 21:16:45 +00:00
Alexandre Julliard 1d2ba529aa Added current context to the exception debug event sent to the server. 1999-11-24 01:24:50 +00:00
Ulrich Weigand eb94c7d2c4 Adapted to new register function handling. 1999-11-13 23:54:04 +00:00
Ulrich Weigand 6bba78e1e7 Moved GET_IP macro to winnt.h 1999-11-13 20:56:01 +00:00
Ulrich Weigand 248c75e613 (Preliminary) CONTEXT structure for SPARC added. 1999-11-10 20:18:53 +00:00
Ulrich Weigand ae8342df48 Bugfix: Exception handlers are *not* WINAPI. 1999-11-10 19:42:13 +00:00
Gerard Patel 5f3d3a8d78 Reorder parameters to fix position of base reg relative to exception
frame.
1999-10-23 23:55:50 +00:00
Alexandre Julliard 3d06d20bab Moved all signal support to a new platform-specific file.
Make use of the per-thread signal stack (Juergen Lock).
Fixed %fs in signal handler for non FS_sig case (Ulrich Weigand).
1999-09-27 10:58:45 +00:00
Juergen Schmied f53d7b3cbd Do not set EH_NONCONTINUABLE. 1999-09-22 15:25:45 +00:00
Juergen Lock 808403fe6f Fix EXC_segv for the TRAP_sig undefined case (eg FreeBSD). 1999-09-03 12:46:38 +00:00
Alexandre Julliard bdf83bc546 Removed SIGNAL_MaskAsyncEvents and cleaned up signal handling. 1999-08-01 14:54:16 +00:00
Alexandre Julliard b375678277 Changed INSTR_EmulateInstruction to use a CONTEXT86 instead of a
SIGCONTEXT.
1999-08-01 12:15:12 +00:00
Patrik Stridvall b8684a266b Fixed some of the issues reported by winapi-check. 1999-07-31 17:32:05 +00:00
Alexandre Julliard 617955db88 Changed CONTEXT into CONTEXT86 everywhere we really want an i386
context.
Added #ifdef __i386__ around accesses to 386 registers in the generic
CONTEXT structure.
1999-06-26 18:40:24 +00:00
Alexandre Julliard 0a860a01f9 Merged THDB and TEB structures.
Made SetLastError(), GetCurrentThreadId() and PROCESS_Current() inline.
1999-06-22 11:43:42 +00:00
Alexandre Julliard 1eeed68514 Moved signal handling to exception.c, generate exceptions on signals.
Added hook for debugger in exception handling (temporary).
1999-06-18 18:21:24 +00:00
Alexandre Julliard d131a17ee0 Use the new debug functions to send debug events at appropriate places.
Pass the process creation flags to PROCESS_Create.
1999-05-23 20:02:04 +00:00
Alexandre Julliard 0a277b638c Adapted for new register functions support (ESP_reg in register
functions now points after the arguments).
1999-05-13 16:21:37 +00:00
Alexandre Julliard 3b3ff2bb06 Added macros and definitions for using exception inside Wine or
Winelib code.
1999-05-12 13:10:39 +00:00
Alexandre Julliard dd93d25577 Improved exception handling.
Based on the work of Sergey Turchanov <turchanov@usa.net>.
1999-05-09 16:12:19 +00:00