hotspot/src/os/windows/vm/os_windows.cpp
changeset 35903 049dfbdc3ced
parent 35487 7c043e468890
child 36174 481391df586b
equal deleted inserted replaced
35901:f5028c67e7cb 35903:049dfbdc3ced
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
  5265   return true;
  5265   return true;
  5266 }
  5266 }
  5267 
  5267 
  5268 
  5268 
  5269 bool os::find(address addr, outputStream* st) {
  5269 bool os::find(address addr, outputStream* st) {
  5270   // Nothing yet
  5270   int offset = -1;
  5271   return false;
  5271   bool result = false;
       
  5272   char buf[256];
       
  5273   if (os::dll_address_to_library_name(addr, buf, sizeof(buf), &offset)) {
       
  5274     st->print(PTR_FORMAT " ", addr);
       
  5275     if (strlen(buf) < sizeof(buf) - 1) {
       
  5276       char* p = strrchr(buf, '\\');
       
  5277       if (p) {
       
  5278         st->print("%s", p + 1);
       
  5279       } else {
       
  5280         st->print("%s", buf);
       
  5281       }
       
  5282     } else {
       
  5283         // The library name is probably truncated. Let's omit the library name.
       
  5284         // See also JDK-8147512.
       
  5285     }
       
  5286     if (os::dll_address_to_function_name(addr, buf, sizeof(buf), &offset)) {
       
  5287       st->print("::%s + 0x%x", buf, offset);
       
  5288     }
       
  5289     st->cr();
       
  5290     result = true;
       
  5291   }
       
  5292   return result;
  5272 }
  5293 }
  5273 
  5294 
  5274 LONG WINAPI os::win32::serialize_fault_filter(struct _EXCEPTION_POINTERS* e) {
  5295 LONG WINAPI os::win32::serialize_fault_filter(struct _EXCEPTION_POINTERS* e) {
  5275   DWORD exception_code = e->ExceptionRecord->ExceptionCode;
  5296   DWORD exception_code = e->ExceptionRecord->ExceptionCode;
  5276 
  5297