From 54221b38019fb5794c0f7b4aacd06ba0887e22f7 Mon Sep 17 00:00:00 2001 From: hvlad Date: Thu, 6 Jun 2019 13:55:56 +0300 Subject: [PATCH] Improve diagnostics of internal trace errors (see CORE-3413 and CORE-6075) --- src/utilities/ntrace/TraceConfiguration.cpp | 5 ++++- src/utilities/ntrace/traceplugin.cpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/utilities/ntrace/TraceConfiguration.cpp b/src/utilities/ntrace/TraceConfiguration.cpp index d953a3b0740..bdeb1d00bf3 100644 --- a/src/utilities/ntrace/TraceConfiguration.cpp +++ b/src/utilities/ntrace/TraceConfiguration.cpp @@ -109,7 +109,10 @@ void TraceCfgReader::readConfig() const bool isDatabase = (section->name == "database"); if (!isDatabase && section->name != "services") - continue; + //continue; + fatal_exception::raiseFmt(ERROR_PREFIX + "line %d: wrong section header, \"database\" or \"service\" is expected", + section->line); const ConfigFile::String pattern = section->value; bool match = false; diff --git a/src/utilities/ntrace/traceplugin.cpp b/src/utilities/ntrace/traceplugin.cpp index e14549be24f..0ae8f3fc4f9 100644 --- a/src/utilities/ntrace/traceplugin.cpp +++ b/src/utilities/ntrace/traceplugin.cpp @@ -101,7 +101,7 @@ Firebird::ITracePlugin* TraceFactoryImpl::trace_create(Firebird::CheckStatusWrap { const char* strEx = TracePluginImpl::marshal_exception(ex); Firebird::string err; - if (dbname) + if (dbname && dbname[0]) err.printf("Error creating trace session for database \"%s\":\n%s\n", dbname, strEx); else err.printf("Error creating trace session for service manager attachment:\n%s\n", strEx);