3 * Support for interop with the Microsoft Error Reporting tool (header)
6 * Alexander Kyte (alkyte@microsoft.com)
8 * (C) 2018 Microsoft, Inc.
11 #ifndef __MONO_UTILS_MERP__
12 #define __MONO_UTILS_MERP__
16 #include <mono/metadata/threads-types.h>
21 * Unregister the MERP-based handler
23 void mono_merp_disable (void);
27 * Enable the MERP-based handler and set application-specific information
29 * See MERP documentation for information on the bundle ID, signature, and version fields
32 mono_merp_enable (const char *appBundleID
, const char *appSignature
, const char *appVersion
, const char *merpGUIPath
, const char *eventType
, const char *appPath
, const char *configDir
);
35 * Whether the MERP-based handler is registered
37 gboolean
mono_merp_enabled (void);
40 * Create the MERP config file and invoke the merp agent
42 * \arg crashed_pid the PID of the thread that encountered the native fault
43 * \arg thread_pointer the address of the stack pointer when the native fault occurred
45 * returns: Success of sending message
47 * This either returns after the MERP handler has successfully uploaded crashed_pid's
48 * crash dump (leaving the caller to call exit), or terminates the runtime
49 * when the registered telemetry application does not respond.
52 mono_merp_invoke (const intptr_t crashed_pid
, const char *signal
, const char *dump_file
, MonoStackHash
*hashes
);
55 mono_merp_add_annotation (const char *key
, const char *value
);
59 #endif // MONO_UTILS_MERP