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

jdb_bt_i.h

Go to the documentation of this file.
00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT!         -*- c++ -*-
00002 
00003 #ifndef jdb_bt_i_h
00004 #define jdb_bt_i_h
00005 
00006 #include <cstdio>
00007 #include <cctype>
00008 
00009 #include "config.h"
00010 #include "jdb.h"
00011 #include "jdb_input.h"
00012 #include "jdb_lines.h"
00013 #include "jdb_module.h"
00014 #include "jdb_symbol.h"
00015 #include "mem_layout.h"
00016 #include "keycodes.h"
00017 #include "thread.h"
00018 
00019 class Jdb_bt : public Jdb_module, public Jdb_input_task_addr
00020 {
00021   static char     dummy;
00022   static char     first_char;
00023   static char     first_char_addr;
00024   static Address  addr;
00025   static Global_id tid;
00026   static Task_num task;
00027 
00028 public:  
00029   Jdb_module::Action_code action(int cmd, void *&args, char const *&fmt, int &next_char);
00030   
00031   Jdb_module::Cmd const *const cmds() const;
00032   
00033   int const num_cmds() const;
00034   
00035   Jdb_bt();
00036 
00037 private:  
00038   // determine the user level ebp and eip considering the current thread state
00039   static void get_user_eip_ebp(Address &eip, Address &ebp);
00040   
00041   static Mword get_user_ebp_following_kernel_stack();
00042   
00043   static void get_kernel_eip_ebp(Mword &eip1, Mword &eip2, Mword &ebp);
00044   
00046   static void show_item(int nr, Address addr, Address_type user);
00047   
00048   static void show_without_ebp();
00049   
00050   static void show(Mword ebp, Mword eip1, Mword eip2, Address_type user);
00051 };
00052 
00053 #endif // jdb_bt_i_h

Generated on Mon Sep 26 14:20:10 2005 for Fiasco by  doxygen 1.4.2