blob: a04342976e61344e97e7ca26be30b21c96754e45 [file] [log] [blame]
#include <torch/csrc/utils/cpp_stacktraces.h>
#include <cstdlib>
#include <cstring>
#include <c10/util/Exception.h>
namespace torch {
namespace {
bool compute_cpp_stack_traces_enabled() {
auto envar = std::getenv("TORCH_SHOW_CPP_STACKTRACES");
if (envar) {
if (strcmp(envar, "0") == 0) {
return false;
}
if (strcmp(envar, "1") == 0) {
return true;
}
TORCH_WARN(
"ignoring invalid value for TORCH_SHOW_CPP_STACKTRACES: ",
envar,
" valid values are 0 or 1.");
}
return false;
}
bool compute_disable_addr2line() {
auto envar = std::getenv("TORCH_DISABLE_ADDR2LINE");
if (envar) {
if (strcmp(envar, "0") == 0) {
return false;
}
if (strcmp(envar, "1") == 0) {
return true;
}
TORCH_WARN(
"ignoring invalid value for TORCH_DISABLE_ADDR2LINE: ",
envar,
" valid values are 0 or 1.");
}
return false;
}
} // namespace
bool get_cpp_stacktraces_enabled() {
static bool enabled = compute_cpp_stack_traces_enabled();
return enabled;
}
bool get_disable_addr2line() {
static bool disabled = compute_disable_addr2line();
return disabled;
}
} // namespace torch