Print stack trace upon exceptions

Useful for debugging users' logs
This commit is contained in:
moneromooo-monero 2016-03-19 21:48:36 +00:00
parent d7fb03fc97
commit fff238ec94
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
43 changed files with 259 additions and 63 deletions

View file

@ -41,6 +41,7 @@
#include "syncobj.h"
#include "string_tools.h"
#include "common/exception.h"
#include "tx_pool.h"
#include "cryptonote_basic.h"
#include "common/util.h"
@ -314,7 +315,7 @@ namespace cryptonote
"m_invalid_blocks: " << m_invalid_blocks.size() << ENDL <<
"m_current_block_cumul_sz_limit: " << m_current_block_cumul_sz_limit);
throw std::runtime_error("Blockchain data corruption");
throw tools::runtime_error("Blockchain data corruption");
}
}
}

View file

@ -28,6 +28,7 @@
//
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
#include "common/exception.h"
#include "checkpoints_create.h"
#include "common/dns_utils.h"
#include "include_base_utils.h"

View file

@ -161,7 +161,7 @@ namespace cryptonote
cryptonote::checkpoints checkpoints;
if (!cryptonote::create_checkpoints(checkpoints))
{
throw std::runtime_error("Failed to initialize checkpoints");
throw tools::runtime_error("Failed to initialize checkpoints");
}
set_checkpoints(std::move(checkpoints));

View file

@ -36,6 +36,7 @@
#include <boost/program_options/variables_map.hpp>
#include <boost/interprocess/sync/file_lock.hpp>
#include <common/exception.h>
#include "p2p/net_node_common.h"
#include "cryptonote_protocol/cryptonote_protocol_handler_common.h"
#include "storages/portable_storage_template_helper.h"

View file

@ -34,6 +34,7 @@
#include <boost/interprocess/detail/atomic.hpp>
#include <boost/limits.hpp>
#include <boost/foreach.hpp>
#include "common/exception.h"
#include "misc_language.h"
#include "include_base_utils.h"
#include "cryptonote_basic_impl.h"