VMError クラス内で使用される補助クラス.
((cite: hotspot/src/share/vm/utilities/errorReporter.hpp))
class ErrorReporter : public StackObj {
エラーメッセージをログファイルに出力するためのクラス.
内部には, 以下のメソッド(のみ)が定義されている.
((cite: hotspot/src/share/vm/utilities/errorReporter.hpp))
void call(FILE* fd, char *buffer, int length);
VMError::report_and_die() 内で(のみ)使用されている.
((cite: hotspot/src/share/vm/utilities/vmError.cpp))
void VMError::report_and_die() {
...
// Run error reporting to determine whether or not to report the crash.
if (!transmit_report_done && should_report_bug(first_error->_id)) {
transmit_report_done = true;
FILE* hs_err = ::fdopen(log.fd(), "r");
if (NULL != hs_err) {
ErrorReporter er;
er.call(hs_err, buffer, O_BUFLEN);
}
}
が, 肝心の ErrorReporter::call() の中身がないので, 現状では何も出力されない.
((cite: hotspot/src/share/vm/utilities/errorReporter.cpp))
void ErrorReporter::call(FILE* fd, char* buffer, int length) {
}
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.