2362N/A * Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 0N/A * published by the Free Software Foundation. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2362N/A * or visit www.oracle.com if you need additional information or have any 0N/A * due to chronic test failures on win32 platforms. When testing, 0N/A * use the wrapper script (JITDebug.sh) instead, which will in turn 0N/A * invoke this program. 0N/A * The problems are related to inconsistent use of "SystemRoot" 0N/A * versus "SYSTEMROOT" environment variables in different win32 O/S 0N/A * installations. Refer to the Comments and Evaluation on bugs 0N/A * 4522770 and 4461673 for more information. 0N/A * Undefined SystemRoot in a win32 environment causes the O/S socket() 0N/A * layer to fail with WSAEPROVIDERFAILEDINIT. The workaround used by 0N/A * on any win32 platform where SystemRoot is not found. 0N/A * Note 2: What seems to be an excessive use of System.xxx.flush(); 0N/A * is actually necessary to combat lost output on win32 systems. 0N/A * @bug 4291701 4376819 4422312 4522770 0N/A * @summary Test JIT debugging - 0N/A * assure that launching on uncaught exception works 0N/A * @author Robert Field 0N/A * This class implements three separate small programs, each 0N/A * of which (directly or indirectly) invokes the next. These 0N/A * Runs the debug target. It exists to work around a 0N/A * bug in the test tools which do not allow quoted spaces 0N/A * in command lines. It launchs the debug target in 0N/A * such a way that when it encounters an uncaught exception 0N/A * it (in turn) will launch the trivial debugger. 0N/A * A one line program which throws an uncaught exception. 0N/A * trivial debugger - 0N/A * A debugger which attachs to the debug target and shuts 0N/A * it down with a zero exit code. 0N/A * These programs are differentiated by their command line arguments: 0N/A * test launcher - (no args) 0N/A * debug target - ("TARGET") 0N/A * trivial debugger - ("DEBUGGER", host and port) 0N/A vm.
exit(
0);
// we are happy - terminate VM with no error 0N/A /** Hang so that test fails */