ocaml/byterun/backtrace.h

46 lines
1.6 KiB
C
Raw Normal View History

/***********************************************************************/
/* */
/* OCaml */
/* */
/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
/* */
/* Copyright 2001 Institut National de Recherche en Informatique et */
/* en Automatique. All rights reserved. This file is distributed */
/* under the terms of the GNU Library General Public License, with */
/* the special exception on linking described in file ../LICENSE. */
/* */
/***********************************************************************/
/* $Id$ */
#ifndef CAML_BACKTRACE_H
#define CAML_BACKTRACE_H
#include "mlvalues.h"
#ifdef NATIVE_CODE
#include "../asmrun/stack.h"
typedef struct backtrace_item {
frame_descr* backtrace_descriptor;
uintnat backtrace_count;
} backtrace_item_t;
CAMLextern backtrace_item_t * caml_backtrace_buffer;
#else
CAMLextern code_t * caml_backtrace_buffer;
#endif
CAMLextern int caml_backtrace_active;
CAMLextern int caml_backtrace_pos;
CAMLextern value caml_backtrace_last_exn;
CAMLextern char * caml_cds_file;
CAMLprim value caml_record_backtrace(value vflag);
#ifndef NATIVE_CODE
extern void caml_stash_backtrace(value exn, code_t pc, value * sp);
#endif
CAMLextern void caml_print_exception_backtrace(void);
#endif /* CAML_BACKTRACE_H */