Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Jdb_bt Class Reference

#include <jdb_bt_i.h>

Inheritance diagram for Jdb_bt:

Jdb_module Jdb_input_task_addr List of all members.

Public Member Functions

Jdb_module::Action_code action (int cmd, void *&args, char const *&fmt, int &next_char)
 The actual handler of the module.
Jdb_module::Cmd const *const cmds () const
 The commands this module provides.
int const num_cmds () const
 The number of commands this modules provides.
 Jdb_bt ()

Static Private Member Functions

static void get_user_eip_ebp (Address &eip, Address &ebp)
static Mword get_user_ebp_following_kernel_stack ()
static void get_kernel_eip_ebp (Mword &eip1, Mword &eip2, Mword &ebp)
static void show_item (int nr, Address addr, Address_type user)
 Show one backtrace item we found.
static void show_without_ebp ()
static void show (Mword ebp, Mword eip1, Mword eip2, Address_type user)

Static Private Attributes

static char dummy
static char first_char
static char first_char_addr
static Address addr
static Global_id tid
static Task_num task

Constructor & Destructor Documentation

Jdb_bt::Jdb_bt  ) 
 


Member Function Documentation

Jdb_module::Action_code Jdb_bt::action int  cmd,
void *&  args,
char const *&  fmt,
int &  next_char
[virtual]
 

The actual handler of the module.

Parameters:
cmd the command ID (see Cmd::id) of the executed command.
args a reference to the argument buffer pointer.
fmt a reference to the format string pointer.
This method is pure virtual and must be provided by the specific derivate of the Jdb_module. action() is called if one of the module's commands was issued and the input according to the format string is read.

The args and fmt arguments are references because they may be modified by the action() method and extra input may be requested by returning Action_code::EXTRA_INPUT. In the case where Action_code::EXTRA_INPUT is returned the Jdb_core reads again the values according to the given format (fmt) and enters action(). With this mechanism it is possible to request further input depending on the already given input.

Implements Jdb_module.

Jdb_module::Cmd const *const Jdb_bt::cmds  )  const [virtual]
 

The commands this module provides.

An array of Cmd structures must be returned, where each entry describes a single command. The command IDs (see Cmd::id) should be unique within the module, so that action() can distinguish between the different commands.

See also:
num_cmds()

Cmd

action()

Implements Jdb_module.

void Jdb_bt::get_kernel_eip_ebp Mword &  eip1,
Mword &  eip2,
Mword &  ebp
[static, private]
 

Mword Jdb_bt::get_user_ebp_following_kernel_stack  )  [static, private]
 

void Jdb_bt::get_user_eip_ebp Address &  eip,
Address &  ebp
[static, private]
 

int const Jdb_bt::num_cmds  )  const [virtual]
 

The number of commands this modules provides.

This method must return how many Cmd structures can be found in the array returned by cmds().

See also:
cmds()

Implements Jdb_module.

void Jdb_bt::show Mword  ebp,
Mword  eip1,
Mword  eip2,
Address_type  user
[static, private]
 

void Jdb_bt::show_item int  nr,
Address  addr,
Address_type  user
[static, private]
 

Show one backtrace item we found.

Add symbol name and line info

void Jdb_bt::show_without_ebp  )  [static, private]
 


Member Data Documentation

Address Jdb_bt::addr [static, private]
 

Reimplemented from Jdb_input_task_addr.

char Jdb_bt::dummy [static, private]
 

char Jdb_bt::first_char [static, private]
 

Reimplemented from Jdb_input_task_addr.

char Jdb_bt::first_char_addr [static, private]
 

Task_num Jdb_bt::task [static, private]
 

Reimplemented from Jdb_input_task_addr.

Global_id Jdb_bt::tid [static, private]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 26 14:20:15 2005 for Fiasco by  doxygen 1.4.2