A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added circle placement for ns3 wifi nodes
[simgrid.git]
/
include
/
xbt
/
backtrace.hpp
diff --git
a/include/xbt/backtrace.hpp
b/include/xbt/backtrace.hpp
index 55712c98d6d1815b6488b5973b5cbe5ed2db37a8..4a3a5890443f0ae34c668f8aac975823cabd6ee5 100644
(file)
--- a/
include/xbt/backtrace.hpp
+++ b/
include/xbt/backtrace.hpp
@@
-1,22
+1,21
@@
-/* Copyright (c) 2005-20
18
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2005-20
20
. 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. */
/* 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. */
-#ifndef SIMGRI
X
_XBT_BACKTRACE_HPP
-#define SIMGRI
X
_XBT_BACKTRACE_HPP
+#ifndef SIMGRI
D
_XBT_BACKTRACE_HPP
+#define SIMGRI
D
_XBT_BACKTRACE_HPP
#include <xbt/base.h>
#include <xbt/base.h>
-#include <
cstddef
>
+#include <
functional
>
#include <memory>
#include <string>
#include <memory>
#include <string>
-#include <vector>
-SG_BEGIN_DECL
()
+SG_BEGIN_DECL
/** @brief Shows a backtrace of the current location */
XBT_PUBLIC void xbt_backtrace_display_current();
/** @brief Shows a backtrace of the current location */
XBT_PUBLIC void xbt_backtrace_display_current();
-SG_END_DECL
()
+SG_END_DECL
namespace simgrid {
namespace xbt {
namespace simgrid {
namespace xbt {
@@
-25,7
+24,7
@@
namespace xbt {
*
* Return the origin string if this fails.
*/
*
* Return the origin string if this fails.
*/
-XBT_PUBLIC std::unique_ptr<char,
void (*)(void*)
> demangle(const char* name);
+XBT_PUBLIC std::unique_ptr<char,
std::function<void(char*)>
> demangle(const char* name);
class BacktraceImpl;
/** A backtrace
class BacktraceImpl;
/** A backtrace
@@
-37,21
+36,14
@@
class BacktraceImpl;
*/
class Backtrace {
public:
*/
class Backtrace {
public:
-
BacktraceImpl*
impl_;
+
std::shared_ptr<BacktraceImpl>
impl_;
Backtrace();
Backtrace();
- Backtrace(const Backtrace& bt);
- ~Backtrace();
+ /** @brief Translate the backtrace in a human friendly form, unmangled with source code locations. */
+ std::string resolve() const;
+ /** @brief Display the resolved backtrace on stderr */
+ void display() const;
};
};
-/* Translate the backtrace in a human friendly form
- *
- * Try resolve symbols and source code location.
- */
-XBT_PUBLIC std::vector<std::string> resolve_backtrace(const Backtrace& bt);
}
}
}
}
-
-/** @brief Display a previously captured backtrace */
-XBT_PUBLIC void xbt_backtrace_display(const simgrid::xbt::Backtrace& bt);
-
#endif
#endif