X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c26fdbfb69cff48549d5a522eb7d6b84c9c669db..9900c8f9847ec57bd5e69aa82ada3c90fa542a56:/src/mc/remote/RemoteClient.cpp diff --git a/src/mc/remote/RemoteClient.cpp b/src/mc/remote/RemoteClient.cpp index 8766ad528d..3dea61744e 100644 --- a/src/mc/remote/RemoteClient.cpp +++ b/src/mc/remote/RemoteClient.cpp @@ -42,6 +42,7 @@ static const std::vector filtered_libraries = { "libboost_chrono", "libboost_context", "libboost_context-mt", + "libboost_stacktrace_addr2line", "libboost_stacktrace_backtrace", "libboost_system", "libboost_thread", @@ -200,7 +201,7 @@ void RemoteClient::init() this->memory_file = fd; // Read std_heap (is a struct mdesc*): - simgrid::mc::Variable* std_heap_var = this->find_variable("__mmalloc_default_mdp"); + const simgrid::mc::Variable* std_heap_var = this->find_variable("__mmalloc_default_mdp"); if (not std_heap_var) xbt_die("No heap information in the target process"); if (not std_heap_var->address) @@ -239,7 +240,7 @@ void RemoteClient::refresh_heap() { // Read/dereference/refresh the std_heap pointer: if (not this->heap) - this->heap = std::unique_ptr(new s_xbt_mheap_t()); + this->heap.reset(new s_xbt_mheap_t()); this->read_bytes(this->heap.get(), sizeof(mdesc), remote(this->heap_address), simgrid::mc::ProcessIndexDisabled); this->cache_flags_ |= RemoteClient::cache_heap; } @@ -365,7 +366,7 @@ simgrid::mc::Frame* RemoteClient::find_function(RemotePtr ip) const /** Find (one occurrence of) the named variable definition */ -simgrid::mc::Variable* RemoteClient::find_variable(const char* name) const +const simgrid::mc::Variable* RemoteClient::find_variable(const char* name) const { // First lookup the variable in the executable shared object. // A global variable used directly by the executable code from a library @@ -373,13 +374,13 @@ simgrid::mc::Variable* RemoteClient::find_variable(const char* name) const // We need to look up the variable in the executable first. if (this->binary_info) { std::shared_ptr const& info = this->binary_info; - simgrid::mc::Variable* var = info->find_variable(name); + const simgrid::mc::Variable* var = info->find_variable(name); if (var) return var; } for (std::shared_ptr const& info : this->object_infos) { - simgrid::mc::Variable* var = info->find_variable(name); + const simgrid::mc::Variable* var = info->find_variable(name); if (var) return var; } @@ -389,7 +390,7 @@ simgrid::mc::Variable* RemoteClient::find_variable(const char* name) const void RemoteClient::read_variable(const char* name, void* target, size_t size) const { - simgrid::mc::Variable* var = this->find_variable(name); + const simgrid::mc::Variable* var = this->find_variable(name); xbt_assert(var->address, "No simple location for this variable"); xbt_assert(var->type->full_type, "Partial type for %s, cannot check size", name); xbt_assert((size_t)var->type->full_type->byte_size == size, "Unexpected size for %s (expected %zu, was %zu)", name, @@ -628,7 +629,7 @@ void RemoteClient::dumpStack() return; } - simgrid::mc::dumpStack(stderr, cursor); + simgrid::mc::dumpStack(stderr, std::move(cursor)); _UPT_destroy(context); unw_destroy_addr_space(as);