Commit Graph

65 Commits

Author SHA1 Message Date
Rémi Bernon ceeb11d2a6 kernel32: Catch process creation breakpoint exceptions.
Metal Gear Solid V: Ground Zeroes attaches itself and continues this
specific breakpoint with DBG_EXCEPTION_NOT_HANDLED. It crashes the
child process and the game terminates.

It is correct for old Windows versions, but more recent versions are
apparently catching exceptions here, and the process should continue.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44127
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-03 11:58:05 +02:00
Rémi Bernon e2a1f00a38 server: Implement DBG_REPLY_LATER handling.
This flag causes the debug event to be replayed after the target thread
continues. It can be used, after suspending the thread, to resume other
threads and later return to the breaking.

This will help implementing gdb continue/step packets correctly.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-27 21:16:13 +01:00
Rémi Bernon a96393fe26 kernel32/tests: Add tests for ContinueDebugEvent with DBG_REPLY_LATER.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:25:25 +01:00
Jacek Caban 9b44422a49 kernel32/tests: Skip instruction pointer check of the last exception in exception race tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-14 19:05:06 +01:00
Jacek Caban 1d556188a7 kernel32/tests: Avoid function pointers for functions present since XP.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Jacek Caban 79d58362c7 kernel32/tests: Don't use blackbox for crashing process.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Jacek Caban f4e232430b kernel32/tests: Use WAIT_EVENT_TIMEOUT in wait_for_breakpoint.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Alexandre Julliard c8f3383696 include: Allow using debug.h in tests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-17 16:55:15 +01:00
Akihiro Sagawa aade0bf7e3 ntdll: Add exception handling around DbgBreakPoint.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47509
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:07 +02:00
Francois Gouget 98093939d6 kernel32/tests: Fix the spelling of three ok() messages and comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Jacek Caban 27da4fa449 kernel32/tests: Enable debug break exception race tests on i386 Wine.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 21:31:34 +02:00
Jacek Caban 649be380b1 ntdll: Call send_debug_event from debug handler on x86_64.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-04 20:03:30 +02:00
Jacek Caban 42a9b58b06 kernel32/tests: Add exception handling race test.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-27 21:53:03 +02:00
Jacek Caban 0f4ef1c3df kernel32/tests: Add single step and debug service tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 17:41:01 +02:00
Francois Gouget 8080e204bf kernel32/tests: A couple of spelling fixes in ok() call messages.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Jacek Caban c1a32a080f server: Report only one debug event per process at the time.
Instead of one per thread.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 00:12:26 +02:00
Jacek Caban 6b46a4d24a kernel32/tests: Improve timeout handling in debugger tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 00:12:25 +02:00
Jacek Caban 4ee629a3ba kernel32: Use DebugBreakProcess in DebugActiveProcess.
Fixes attaching to a process with VS remote debugger. It expects the
first break exception address to be DbgBreakPoint.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:42:25 +02:00
Jacek Caban dc3623f57f winternl.h: Remove inline DbgBreakPoint version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:42:19 +02:00
Jacek Caban a679f965c8 kernel32: Reimplement DebugBreakProcess on top of DbgUiIssueRemoteBreakin.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:42:16 +02:00
Jacek Caban 4f1185d21e kernel32: Terminate process in unhandled exception handler.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-04 21:14:54 +02:00
Jacek Caban 3fded30a10 server: Fix debug event order in generate_startup_debug_events.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-04 21:14:54 +02:00
Jacek Caban 6aaa2b23a3 kernel32/tests: Add more debugger tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-04 21:14:54 +02:00
Hans Leidekker 4872747b27 ntdll: Fix breakpoint exception address on 64-bit Linux.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 22:04:39 +02:00
Alexandre Julliard d4ef782db7 makefiles: Build all tests with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 12:10:51 +02:00
Daniel Lehman d14456ceff kernel32/tests: Don't call DeleteFile from assert().
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 14:46:24 +01:00
Daniel Lehman 4310ebcd6a kernel32/tests: Don't call function in assert().
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 14:46:21 +01:00
Sebastian Lackner 4e0edaac1f kernel32/tests: Use inline implementation of NtCurrentTeb for debugger tests.
Also enable BeingDebugged PEB tests on x86_64.

Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 11:13:15 +09:00
Francois Gouget f6dc7c88ba kernel32/tests: Help the tests portably declare printf()-syle functions.
To do so they can now use the WINETEST_PRINTF_ATTR() macro.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-13 23:46:33 +09:00
Charles Davis 3eb8e325b8 kernel32/tests: Use a volatile pointer to cause a crash in the debugger tests. (Clang).
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
2015-10-07 21:28:55 +09:00
Sebastian Lackner e5e4ef07b6 kernel32/tests: Add missing HeapFree() in doChildren(). (Valgrind). 2014-06-23 10:12:18 +02:00
Piotr Caban 4fca169301 server: Don't debug children when DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS flags are passed to CreateProcess. 2014-04-09 13:15:58 +02:00
Dmitry Timoshkov 79ac1fa33f kernel32/tests: Fix debugger tests compilation with __WINESRC__ defined. 2013-10-21 20:23:54 +02:00
Piotr Caban 23191a4355 server: Don't debug children when debugger is attached with DebugActiveProcess function. 2013-04-05 20:39:07 +02:00
Detlef Riekenberg 9aacf4ce6f kernel32/tests: Fix test failures on win7. 2012-08-13 12:08:11 +02:00
Austin English e2cbe25ba7 kernel32/tests: Remove win9x hacks. 2011-08-22 17:21:23 +02:00
Eric Pouech 1980545055 kernel32: When testing the debugger activation, don't use unitialized values (clang). 2011-03-28 17:24:45 +02:00
André Hentschel 85386c2c6e kernel32/tests: Don't test function directly when reporting GetLastError(). 2011-01-12 14:59:43 +01:00
Greg Geldorp f284719c96 kernel32/tests: Skip some debugger tests on 64-bit. 2010-12-30 16:49:00 +01:00
Greg Geldorp a4a73c20af kernel32/tests: Quote command line arguments that might contain spaces. 2010-12-21 16:55:50 +01:00
Alexandre Julliard e2c48c5952 tests: Try to avoid message boxes popping up in non-interactive testing. 2010-07-20 11:39:50 +02:00
Austin English e0c7fb66c4 kernel32/tests: Use ret in load_blackbox(). 2010-05-24 12:53:09 +02:00
Paul Vriens b120836bd2 kernel32/tests: Run tests again on Win95. 2010-03-16 17:03:23 +01:00
Henri Verbeet ef058b3030 kernel32: Implement CheckRemoteDebuggerPresent(). 2010-03-15 15:56:56 +01:00
Henri Verbeet 6c0ecd0955 server: Debugging our own process is disallowed. 2010-03-15 15:55:08 +01:00
Henri Verbeet 1970fb35d4 server: Allow the debugger to be debugged. 2010-03-05 13:21:22 +01:00
Paul Vriens 6fd641aa05 kernel32/tests: Skip a test on Win9x/WinMe. 2010-01-18 14:39:11 +01:00
Paul Vriens cde8673339 kernel32/tests: Fix an intermittent test failure on Vista+. 2009-10-23 12:02:54 +02:00
Stefan Leichter 2c576e88b4 kernel32: Check parameter of CheckRemoteDebuggerPresent with tests. 2009-09-28 12:37:28 +02:00
Paul Vriens b3e4155a41 kernel32/tests: Fix a test failure on Win9x/WinMe. 2009-06-05 14:43:24 +02:00