X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d20f024dba9ff1e9c8822237caaf963b9e913889..4bcfd40036f842e976d329cd0cee7349b8e0f4d6:/src/mc/remote/RemoteClient.hpp diff --git a/src/mc/remote/RemoteClient.hpp b/src/mc/remote/RemoteClient.hpp index c0d6ec7dc9..994b88b7c6 100644 --- a/src/mc/remote/RemoteClient.hpp +++ b/src/mc/remote/RemoteClient.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2008-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2008-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -6,37 +6,11 @@ #ifndef SIMGRID_MC_PROCESS_H #define SIMGRID_MC_PROCESS_H -#include -#include - -#include -#include -#include -#include - -#include - -#include - -#include "xbt/base.h" -#include - -#include "src/xbt/mmalloc/mmprivate.h" - +#include "src/mc/inspect/ObjectInformation.hpp" #include "src/mc/remote/Channel.hpp" -#include "src/mc/remote/RemotePtr.hpp" - -#include "src/simix/popping_private.hpp" -#include "src/simix/smx_private.hpp" -#include - -#include "src/xbt/memory_map.hpp" +#include "src/xbt/mmalloc/mmprivate.h" -#include "src/mc/AddressSpace.hpp" -#include "src/mc/ObjectInformation.hpp" -#include "src/mc/mc_base.h" -#include "src/mc/mc_forward.hpp" -#include "src/mc/remote/mc_protocol.h" +#include namespace simgrid { namespace mc { @@ -44,8 +18,8 @@ namespace mc { class ActorInformation { public: /** MCed address of the process */ - RemotePtr address = nullptr; - Remote copy; + RemotePtr address{nullptr}; + Remote copy; /** Hostname (owned by `mc_modelchecker->hostnames`) */ const char* hostname = nullptr; @@ -122,10 +96,7 @@ public: } std::string read_string(RemotePtr address) const; - std::string read_string(RemotePtr address, std::size_t len) const - { - return AddressSpace::read_string(address, len); - } + using AddressSpace::read_string; // Write memory: void write_bytes(const void* buffer, size_t len, RemotePtr address); @@ -136,7 +107,7 @@ public: std::shared_ptr find_object_info_exec(RemotePtr addr) const; std::shared_ptr find_object_info_rw(RemotePtr addr) const; simgrid::mc::Frame* find_function(RemotePtr ip) const; - simgrid::mc::Variable* find_variable(const char* name) const; + const simgrid::mc::Variable* find_variable(const char* name) const; // Heap access: xbt_mheap_t get_heap() @@ -193,7 +164,7 @@ public: std::vector& dead_actors(); /** Get a local description of a remote SIMIX actor */ - simgrid::mc::ActorInformation* resolveActorInfo(simgrid::mc::RemotePtr actor) + simgrid::mc::ActorInformation* resolveActorInfo(simgrid::mc::RemotePtr actor) { xbt_assert(mc_model_checker != nullptr); if (not actor) @@ -209,7 +180,7 @@ public: } /** Get a local copy of the SIMIX actor structure */ - simgrid::simix::ActorImpl* resolveActor(simgrid::mc::RemotePtr process) + simgrid::kernel::actor::ActorImpl* resolveActor(simgrid::mc::RemotePtr process) { simgrid::mc::ActorInformation* actor_info = this->resolveActorInfo(process); if (actor_info) @@ -226,7 +197,6 @@ private: void refresh_malloc_info(); void refresh_simix(); -private: pid_t pid_ = -1; Channel channel_; bool running_ = false; @@ -239,20 +209,21 @@ private: std::vector stack_areas_; std::vector ignored_heap_; -public: // object info +public: + // object info // TODO, make private (first, objectify simgrid::mc::ObjectInformation*) std::vector> object_infos; std::shared_ptr libsimgrid_info; std::shared_ptr binary_info; -public: // Copies of MCed SMX data structures - /** Copy of `simix_global->process_list` - * - * See mc_smx.c. - */ + // Copies of MCed SMX data structures + /** Copy of `simix_global->process_list` + * + * See mc_smx.c. + */ std::vector smx_actors_infos; - /** Copy of `simix_global->process_to_destroy` + /** Copy of `simix_global->actors_to_destroy` * * See mc_smx.c. */ @@ -282,13 +253,13 @@ public: */ std::vector heap_info; -public: // Libunwind-data - /** Full-featured MC-aware libunwind address space for the process - * - * This address space is using a simgrid::mc::UnwindContext* - * (with simgrid::mc::Process* / simgrid::mc::AddressSpace* - * and unw_context_t). - */ + // Libunwind-data + /** Full-featured MC-aware libunwind address space for the process + * + * This address space is using a simgrid::mc::UnwindContext* + * (with simgrid::mc::Process* / simgrid::mc::AddressSpace* + * and unw_context_t). + */ unw_addr_space_t unw_addr_space; /** Underlying libunwind address-space