On this page
crash
Native crash logging functions and constants.
Functions
crash.write_dump()crash.set_file_path(path: string)crash.load_previous(): number | nilcrash.release(handle: number)crash.set_user_field(index: number, value: string)crash.get_modules(handle: number): Record<string | number, unknown>crash.get_user_field(handle: number, index: number): stringcrash.get_sys_field(handle: number, index: number): string | nilcrash.get_signum(handle: number): numbercrash.get_backtrace(handle: number): Record<string | number, unknown>crash.get_extra_data(handle: number): string
crash.write_dump()
Performs the same steps as if a crash had just occured but allows the program to continue. The generated dump can be read by crash.load_previous
crash.set_file_path(path: string)
Crashes occuring before the path is set will be stored to a default engine location.
Parameters
path:string— file path to use
crash.load_previous(): number | nil
The crash dump will be removed from disk upon a successful load, so loading is one-shot.
Returns
handle:number | nil— handle to the loaded dump, ornilif no dump was found
crash.release(handle: number)
releases a previously loaded crash dump
Parameters
handle:number— handle to loaded crash dump
crash.set_user_field(index: number, value: string)
Store a user value that will get written to a crash dump when a crash occurs. This can be user id:s, breadcrumb data etc. There are 32 slots indexed from 0. Each slot stores at most 255 characters.
Parameters
index:number— slot index. 0-indexedvalue:string— string value to store
crash.get_modules(handle: number): Record<string | number, unknown>
The function returns a table containing entries with sub-tables that have fields 'name' and 'address' set for all loaded modules.
Parameters
handle:number— crash dump handle
Returns
modules:Record<string | number, unknown>— module table
crash.get_user_field(handle: number, index: number): string
reads user field from a loaded crash dump
Parameters
handle:number— crash dump handleindex:number— user data slot index
Returns
value:string— user data value recorded in the crash dump
crash.get_sys_field(handle: number, index: number): string | nil
reads a system field from a loaded crash dump
Parameters
handle:number— crash dump handleindex:number— system field enum. Must be less than crash.SYSFIELD_MAX
Returns
value:string | nil— value recorded in the crash dump, ornilif it didn't exist
crash.get_signum(handle: number): number
read signal number from a crash report
Parameters
handle:number— crash dump handle
Returns
signal:number— signal number
crash.get_backtrace(handle: number): Record<string | number, unknown>
A table is returned containing the addresses of the call stack.
Parameters
handle:number— crash dump handle
Returns
backtrace:Record<string | number, unknown>— table containing the backtrace
crash.get_extra_data(handle: number): string
The format of read text blob is platform specific and not guaranteed but can be useful for manual inspection.
Parameters
handle:number— crash dump handle
Returns
blob:string— string with the platform specific data
Constants
crash.SYSFIELD_ENGINE_VERSION
engine version as release number
crash.SYSFIELD_ENGINE_HASH
engine version as hash
crash.SYSFIELD_DEVICE_MODEL
device model as reported by sys.get_sys_info
crash.SYSFIELD_MANUFACTURER
device manufacturer as reported by sys.get_sys_info
crash.SYSFIELD_SYSTEM_NAME
system name as reported by sys.get_sys_info
crash.SYSFIELD_SYSTEM_VERSION
system version as reported by sys.get_sys_info
crash.SYSFIELD_LANGUAGE
system language as reported by sys.get_sys_info
crash.SYSFIELD_DEVICE_LANGUAGE
system device language as reported by sys.get_sys_info
crash.SYSFIELD_TERRITORY
system territory as reported by sys.get_sys_info
crash.SYSFIELD_ANDROID_BUILD_FINGERPRINT
android build fingerprint
crash.SYSFIELD_MAX
The max number of sysfields.
crash.USERFIELD_MAX
The max number of user fields.
crash.USERFIELD_SIZE
The max size of a single user field.