12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- //
- // Debugger.h
- //
- // Library: Foundation
- // Package: Core
- // Module: Debugger
- //
- // Definition of the Debugger class.
- //
- // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
- // and Contributors.
- //
- // SPDX-License-Identifier: BSL-1.0
- //
- #ifndef Foundation_Debugger_INCLUDED
- #define Foundation_Debugger_INCLUDED
- #include "Poco/Foundation.h"
- namespace Poco {
- class Foundation_API Debugger
- /// 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).
- {
- public:
- 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.
- static void message(const std::string& msg);
- /// Writes a message to the debugger log, if available, otherwise to
- /// standard error output.
- static void message(const std::string& msg, const char* file, int line);
- /// Writes a message to the debugger log, if available, otherwise to
- /// standard error output.
- 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.
- static void enter(const std::string& msg);
- /// Writes a debug message to the debugger log and breaks into it.
- static void enter(const std::string& msg, const char* file, int line);
- /// Writes a debug message to the debugger log and breaks into it.
- static void enter(const char* file, int line);
- /// Writes a debug message to the debugger log and breaks into it.
- };
- } // namespace Poco
- #endif // Foundation_Debugger_INCLUDED
|