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
cut the backtrace displayed from sthread to the sthread_create to hide useless cruft
[simgrid.git]
/
src
/
xbt
/
backtrace.cpp
diff --git
a/src/xbt/backtrace.cpp
b/src/xbt/backtrace.cpp
index
7b44c9f
..
b719eaf
100644
(file)
--- a/
src/xbt/backtrace.cpp
+++ b/
src/xbt/backtrace.cpp
@@
-1,14
+1,15
@@
-/* Copyright (c) 2005-202
2
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2005-202
3
. 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. */
#include "src/internal_config.h"
/* 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. */
#include "src/internal_config.h"
+#include <simgrid/actor.h>
+#include <simgrid/s4u/Actor.hpp>
#include <xbt/backtrace.hpp>
#include <xbt/string.hpp>
#include <xbt/sysdep.h>
#include <xbt/backtrace.hpp>
#include <xbt/string.hpp>
#include <xbt/sysdep.h>
-#include <xbt/virtu.h>
#include <cstdio>
#include <cstdlib>
#include <cstdio>
#include <cstdlib>
@@
-48,7
+49,8
@@
public:
const std::string frame_name = frame.name();
if (print) {
if (frame_name.rfind("simgrid::xbt::MainFunction", 0) == 0 ||
const std::string frame_name = frame.name();
if (print) {
if (frame_name.rfind("simgrid::xbt::MainFunction", 0) == 0 ||
- frame_name.rfind("simgrid::kernel::context::Context::operator()()", 0) == 0)
+ frame_name.rfind("simgrid::kernel::context::Context::operator()()", 0) == 0 ||
+ frame_name.rfind("auto sthread_create::{lambda") == 0)
break;
ss << " -> #" << frame_count++ << " ";
if (xbt_log_no_loc) // Don't display file source and line if so
break;
ss << " -> #" << frame_count++ << " ";
if (xbt_log_no_loc) // Don't display file source and line if so
@@
-61,7
+63,7
@@
public:
frame_name.find("simcall_run_answered") != std::string::npos ||
frame_name.find("simcall_run_blocking") != std::string::npos) {
frame_count = 0;
frame_name.find("simcall_run_answered") != std::string::npos ||
frame_name.find("simcall_run_blocking") != std::string::npos) {
frame_count = 0;
- ss.str(
std::string()
); // This is how you clear a stringstream in C++. clear() is something else :'(
+ ss.str(
""
); // This is how you clear a stringstream in C++. clear() is something else :'(
}
if (frame_name == "main")
break;
}
if (frame_name == "main")
break;
@@
-90,7
+92,8
@@
std::string Backtrace::resolve() const
void Backtrace::display() const
{
std::string backtrace = resolve();
void Backtrace::display() const
{
std::string backtrace = resolve();
- std::fprintf(stderr, "Backtrace (displayed in actor %s%s):\n%s\n", xbt_procname(),
+ std::fprintf(stderr, "Backtrace (displayed in actor %s%s):\n%s\n",
+ simgrid::s4u::Actor::is_maestro() ? "maestro" : sg_actor_self_get_name(),
(xbt_log_no_loc ? " -- short trace because of --log=no_loc" : ""),
backtrace.empty() ? "(backtrace not set -- did you install Boost.Stacktrace?)" : backtrace.c_str());
}
(xbt_log_no_loc ? " -- short trace because of --log=no_loc" : ""),
backtrace.empty() ? "(backtrace not set -- did you install Boost.Stacktrace?)" : backtrace.c_str());
}