feat(Core/Debugging): Allow to show a message when aborting (#5228)

This commit is contained in:
Kargatum
2021-04-18 19:36:54 +07:00
committed by GitHub
parent ac6a968242
commit 8263faa288
2 changed files with 18 additions and 1 deletions

View File

@@ -56,7 +56,6 @@ namespace
namespace acore
{
void Assert(char const* file, int line, char const* function, std::string const& debugInfo, char const* message)
{
std::string formattedMessage = acore::StringFormat("\n%s:%i in %s ASSERTION FAILED:\n %s\n", file, line, function, message) + debugInfo + '\n';
@@ -116,6 +115,20 @@ namespace acore
Crash(formattedMessage.c_str());
}
void Abort(char const* file, int line, char const* function, char const* message, ...)
{
va_list args;
va_start(args, message);
std::string formattedMessage = StringFormat("\n%s:%i in %s ABORTED:\n", file, line, function) + FormatAssertionMessage(message, args) + '\n';
va_end(args);
fprintf(stderr, "%s", formattedMessage.c_str());
fflush(stderr);
Crash(formattedMessage.c_str());
}
void AbortHandler(int sigval)
{
// nothing useful to log here, no way to pass args