Library: Foundation
Package: Core
Header: Poco/Debugger.h
Description
The Debugger class provides an interface to the debugger. The presence of a debugger can be checked for, messages can be written to the debugger's log window and a break into the debugger can be enforced. The methods only work if the program is compiled in debug mode (the macro _DEBUG is defined).
Member Summary
Member Functions: enter, isAvailable, message, sourceFile
Member Functions
enter
static void enter();
Breaks into the debugger, if it is available. On Windows, this is done using the DebugBreak() function. On Unix, the SIGINT signal is raised.
enter
static void enter(
const std::string & msg
);
Writes a debug message to the debugger log and breaks into it.
enter
static void enter(
const std::string & msg,
const char * file,
LineNumber line
);
Writes a debug message to the debugger log and breaks into it.
enter
static void enter(
const char * file,
LineNumber line
);
Writes a debug message to the debugger log and breaks into it.
isAvailable
static bool isAvailable();
Returns true if a debugger is available, false otherwise. On Windows, this function uses the IsDebuggerPresent() function. On Unix, this function returns true if the environment variable POCO_ENABLE_DEBUGGER is set.
message
static void message(
const std::string & msg
);
Writes a message to the debugger log, if available, otherwise to standard error output.
message
static void message(
const std::string & msg,
const char * file,
LineNumber line
);
Writes a message to the debugger log, if available, otherwise to standard error output.
sourceFile
static constexpr std::string_view sourceFile(
const std::string_view & fileName
);
Utility function for reporting the source file name. The file path is truncated and only the source file name (with extension) is returned.
For full location reporting (including function name and line number), see poco_src_loc macro.