KCrash Class Reference

`#include <kcrash.h>`

## Public Types

typedef void(* | HandlerType )(int)

## Static Public Member Functions

static void | defaultCrashHandler (int signal)
static void | setCrashHandler (HandlerType handler=defaultCrashHandler)
static HandlerType | crashHandler ()
static void | setEmergencySaveFunction (HandlerType saveFunction=(HandlerType) 0)
static HandlerType | emergencySaveFunction ()
static void | setSafer (bool on)
static void | setApplicationPath (QString path)
static void | setApplicationName (QString name)

## Static Protected Attributes

static HandlerType | _crashHandler = 0
static HandlerType | _emergencySaveFunction = 0

## Detailed Description

This class handles segmentation-faults.

By default it displays a message-box saying the application crashed. This default can be overridden by setting a custom crash handler with setCrashHandler(). If a function is specified with setEmergencySaveFunction() it will be called by the default crash handler, giving the application a chance to save its data.

Definition at line 37 of file kcrash.h.

## Member Typedef Documentation

typedef void(* KCrash::HandlerType)(int)

This function type is a pointer to a crash handler function.

The function's argument is the number of the signal.

Definition at line 55 of file kcrash.h.

## Member Function Documentation

static HandlerType KCrash::crashHandler | ( |  | ) |

inline static

Returns the installed crash handler.

Returns
  the crash handler

Definition at line 74 of file kcrash.h.

void KCrash::defaultCrashHandler | ( | int | signal | ) |

static

The default crash handler.

Parameters

  signal | the signal number

Definition at line 119 of file kcrash.cpp.

static HandlerType KCrash::emergencySaveFunction | ( |  | ) |

inline static

Return the currently set emergency save function.

Returns
  the emergency save function

Definition at line 88 of file kcrash.h.

static void KCrash::setApplicationName | ( | QString | name | ) |

inline static

Sets the application name `name` which should be passed to Dr.

Konqi, our nice crash display application.

Parameters

  name | the name of the application, as shown in Dr. Konqi

Definition at line 108 of file kcrash.h.

static void KCrash::setApplicationPath | ( | QString | path | ) |

inline static

Sets the application `path` which should be passed to Dr.

Konqi, our nice crash display application.

Parameters

  path | the application path.

Definition at line 100 of file kcrash.h.

void KCrash::setCrashHandler | ( | HandlerType | handler = `defaultCrashHandler` | ) |

static

Install a function to be called in case a SIGSEGV is caught.

Parameters

  handler

  HandlerType handler can be one of
  - null in which case signal-catching is disabled (by calling signal(SIGSEGV, SIG_DFL))
  - if handler is omitted the default crash handler is installed.
  - an user defined function in the form: static (if in a class) void myCrashHandler(int);

  handler | the crash handler

Definition at line 86 of file kcrash.cpp.

void KCrash::setEmergencySaveFunction | ( | HandlerType | saveFunction = `(HandlerType)0` | ) |

static

Installs a function which should try to save the applications data.

It is the crash handler´s responsibility to call this function. Therefore, if no crash handler is set, the default crash handler is installed to ensure the save function is called.

Parameters

  saveFunction | the handler to install

Definition at line 70 of file kcrash.cpp.

static void KCrash::setSafer | ( | bool | on | ) |

inline static

Set whether to start drkonqi without arbitrary disk access.

Definition at line 93 of file kcrash.h.

## Member Data Documentation

KCrash::HandlerType KCrash::_crashHandler = 0

static protected

Pointer to the crash handler.

Definition at line 115 of file kcrash.h.

KCrash::HandlerType KCrash::_emergencySaveFunction = 0

static protected

Pointer to the emergency save function.

Definition at line 119 of file kcrash.h.

The documentation for this class was generated from the following files:

- kcrash.h
- kcrash.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys