blob: 93f03380945df9ddc37bd12022aa83c210b9b8e6 [file] [log] [blame]
#pragma once
#include <torch/csrc/Export.h>
#include <string>
namespace torch {
namespace crash_handler {
#ifdef _WIN32
typedef std::wstring STRING_TYPE;
#else
typedef std::string STRING_TYPE;
#endif
// Set up a handler that writes minidumps to 'dir' on signals. This is not
// necessary to call unless you want to change 'dir' to something other than
// the default '/tmp/pytorch_crashes'.
TORCH_API void enable_minidumps(const STRING_TYPE& dir);
// Enable minidumps when passing exceptions up to Python. By default these don't
// do anything special, but it can be useful to write out a minidump on
// exceptions for debugging purposes. This has no effect in C++.
TORCH_API void enable_minidumps_on_exceptions();
// Disable all minidump writing and un-register the signal handler
TORCH_API void disable_minidumps();
// Get the directory that minidumps will be written to
TORCH_API const STRING_TYPE& get_minidump_directory();
// These are TORCH_API'ed since they are used from libtorch_python.so
TORCH_API bool is_enabled_on_exceptions();
TORCH_API void write_minidump();
} // namespace crash_handler
} // namespace torch