# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KCrash Class Reference

This class handles segmentation-faults. More...

`#include <kcrash.h>`

List of all members.

## 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

void KCrash::defaultCrashHandler | ( | int | signal | ) | `[static]`

The default crash handler.

Parameters:

  | signal | the signal number

Definition at line 113 of file kcrash.cpp.

References _emergencySaveFunction, KInstance::aboutData(), KAboutData::bugAddress(), DCOPClient::emergencyClose(), QString::isNull(), KAboutData::programName(), QCString::setNum(), QString::utf8(), and KAboutData::version().

Referenced by setEmergencySaveFunction().

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 80 of file kcrash.cpp.

References _crashHandler.

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::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 64 of file kcrash.cpp.

References _crashHandler, _emergencySaveFunction, and defaultCrashHandler().

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::setSafer | ( | bool | on | ) | `[inline, static]`

| Set whether to start drkonqi without arbitrary disk access. Definition at line 93 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.

References QString::local8Bit().

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.

References QString::local8Bit().

## Member Data Documentation

KCrash::HandlerType KCrash::_crashHandler = 0`[static, protected]`

| Pointer to the crash handler. Definition at line 55 of file kcrash.cpp. Referenced by setCrashHandler(), and setEmergencySaveFunction().

KCrash::HandlerType KCrash::_emergencySaveFunction = 0`[static, protected]`

| Pointer to the emergency save function. Definition at line 54 of file kcrash.cpp. Referenced by defaultCrashHandler(), and setEmergencySaveFunction().

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

- kcrash.h
- kcrash.cpp

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:18:34 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003