bump product version to 6.3.0.0.beta1
[LibreOffice.git] / include / sal / backtrace.hxx
blob62dfb590fae7c0ef568b0b1e5ce51c2fbe6a763e
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #ifndef INCLUDED_SAL_BACKTRACE_HXX
11 #define INCLUDED_SAL_BACKTRACE_HXX
13 #include "sal/config.h"
14 #include "sal/saldllapi.h"
15 #include "sal/types.h"
16 #include "rtl/ustring.hxx"
17 #include <memory>
19 /// @cond INTERNAL
20 /**
21 Two stage API for recording and then later decoding stack backtraces.
22 Useful for debugging facilities where we are only interested in decoding
23 a small handful of recorded stack traces.
25 @param backtraceDepth value indicating the maximum backtrace depth; must be > 0
27 @since LibreOffice 6.0
29 #if defined LIBO_INTERNAL_ONLY
31 namespace sal {
33 struct BacktraceState {
34 void** buffer;
35 int nDepth;
36 ~BacktraceState() {delete[] buffer;}
39 SAL_DLLPUBLIC std::unique_ptr<BacktraceState> backtrace_get(
40 sal_uInt32 backtraceDepth);
42 SAL_DLLPUBLIC OUString backtrace_to_string(BacktraceState* backtraceState);
46 #endif
48 #endif
50 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */