mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
8136978: Much nearly duplicated code for vmError support
Moved all non os specific code in vmError_[os].cpp to vmError_posix.cpp, moved os specific code to os_[os].cpp and refactored all other references accordingly Reviewed-by: stuefe, coleenp, dholmes
This commit is contained in:
parent
dcd4a03963
commit
4699c70e25
14 changed files with 202 additions and 480 deletions
|
@ -3611,7 +3611,7 @@ void os::Solaris::SR_handler(Thread* thread, ucontext_t* uc) {
|
|||
void os::print_statistics() {
|
||||
}
|
||||
|
||||
int os::message_box(const char* title, const char* message) {
|
||||
bool os::message_box(const char* title, const char* message) {
|
||||
int i;
|
||||
fdStream err(defaultStream::error_fd());
|
||||
for (i = 0; i < 78; i++) err.print_raw("=");
|
||||
|
@ -5804,3 +5804,27 @@ void TestReserveMemorySpecial_test() {
|
|||
// No tests available for this platform
|
||||
}
|
||||
#endif
|
||||
|
||||
bool os::start_debugging(char *buf, int buflen) {
|
||||
int len = (int)strlen(buf);
|
||||
char *p = &buf[len];
|
||||
|
||||
jio_snprintf(p, buflen-len,
|
||||
"\n\n"
|
||||
"Do you want to debug the problem?\n\n"
|
||||
"To debug, run 'dbx - %d'; then switch to thread " INTX_FORMAT "\n"
|
||||
"Enter 'yes' to launch dbx automatically (PATH must include dbx)\n"
|
||||
"Otherwise, press RETURN to abort...",
|
||||
os::current_process_id(), os::current_thread_id());
|
||||
|
||||
bool yes = os::message_box("Unexpected Error", buf);
|
||||
|
||||
if (yes) {
|
||||
// yes, user asked VM to launch debugger
|
||||
jio_snprintf(buf, sizeof(buf), "dbx - %d", os::current_process_id());
|
||||
|
||||
os::fork_and_exec(buf);
|
||||
yes = false;
|
||||
}
|
||||
return yes;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue