debug: enable debugging features by default
This commit is contained in:
parent
1b023f7c8d
commit
67c8c9c69c
19
debug.cpp
19
debug.cpp
@ -76,20 +76,27 @@ warn (const char *msg)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
void
|
void
|
||||||
util::debug::init (void)
|
util::debug::init [[gnu::constructor]] (void)
|
||||||
{
|
{
|
||||||
force_console ();
|
if (debug_enabled || getenv("DEBUG")) {
|
||||||
prepare_debugger ();
|
LOG_INFO ("minimal debug setup");
|
||||||
|
enable_fpe ();
|
||||||
|
force_console ();
|
||||||
|
prepare_debugger ();
|
||||||
|
|
||||||
if (getenv ("DEBUG_WAIT"))
|
if (getenv ("DEBUG_WAIT"))
|
||||||
await_debugger ();
|
await_debugger ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
static void
|
static void
|
||||||
debug_wait [[gnu::constructor]] (void) {
|
debug_wait [[gnu::constructor]] (void)
|
||||||
|
{
|
||||||
if (auto val = getenv ("DEBUG_WAIT")) {
|
if (auto val = getenv ("DEBUG_WAIT")) {
|
||||||
|
LOG_NOTICE ("awaiting debugger");
|
||||||
|
|
||||||
if (std::string ("0") != val)
|
if (std::string ("0") != val)
|
||||||
await_debugger ();
|
await_debugger ();
|
||||||
}
|
}
|
||||||
|
@ -102,7 +102,7 @@ await_debugger (void)
|
|||||||
void
|
void
|
||||||
enable_fpe (void)
|
enable_fpe (void)
|
||||||
{
|
{
|
||||||
feenableexcept (FE_DIVBYZERO | FE_INVALID);
|
feenableexcept (FE_INVALID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ disable_fpe (void)
|
|||||||
void
|
void
|
||||||
force_console (void)
|
force_console (void)
|
||||||
{
|
{
|
||||||
if (!isatty (fileno (stdout))) {
|
if (!isatty (fileno (stdout) && !isatty (fileno (stderr)))) {
|
||||||
LOG_WARN ("expected debugging under a console");
|
LOG_WARN ("expected debugging under a console");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user