Cleaned up the debug mess mmu_man has created (thanks anyway!).

Switched to kernel_cpp.h/cpp.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6289 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2004-01-25 14:44:51 +00:00
parent b53b9c0cd9
commit a893229e08
2 changed files with 56 additions and 0 deletions
@@ -9,6 +9,7 @@
#include "Debug.h" #include "Debug.h"
#include "BPlusTree.h" #include "BPlusTree.h"
#include "Inode.h"
#include <KernelExport.h> #include <KernelExport.h>
@@ -43,6 +44,21 @@ dump_block_run(const char *prefix, block_run &run)
} }
void
dump_inode(Inode &inode)
{
Print("Inode (%p) {\n", &inode);
Print("\tfVolume = %p\n", inode.fVolume);
Print("\tfBlockNumber = 0x%16Lx\n", inode.fBlockNumber);
Print("\tfNode = %p\n", inode.Node());
Print("\tfTree = %p\n", inode.fTree);
Print("\tfAttributes = %p\n", inode.fAttributes);
Print("\tfOldSize = 0x%16Lx\n", inode.fOldSize);
Print("\tfOldLastModified = 0x%16Lx\n", inode.fOldLastModified);
Print("}\n");
}
void void
dump_super_block(disk_super_block *superBlock) dump_super_block(disk_super_block *superBlock)
{ {
@@ -239,3 +255,38 @@ dump_bplustree_node(bplustree_node *node,bplustree_header *header,Volume *volume
} }
} }
} }
// #pragma mark -
//#warn Don't mount more than once... would register twice the debugger commands!
static int
dbg_inode(int argc, char **argv)
{
if (argc < 2) {
kprintf("usage: obfsinode ptr-to-inode\n");
return 0;
}
Inode *inode = (Inode *)parse_expression(argv[1]);
dump_inode(*inode);
return B_OK;
}
void
unregister_debugger_commands()
{
remove_debugger_command("obfsinode", dbg_inode);
}
void
register_debugger_commands()
{
add_debugger_command("obfsinode", dbg_inode, "dump an Inode object");
}
@@ -86,16 +86,21 @@
struct data_stream; struct data_stream;
struct bfs_inode; struct bfs_inode;
struct disk_super_block; struct disk_super_block;
class Inode;
class Volume; class Volume;
// some structure dump functions // some structure dump functions
extern void dump_block_run(const char *prefix, block_run &run); extern void dump_block_run(const char *prefix, block_run &run);
extern void dump_inode(Inode &inode);
extern void dump_super_block(disk_super_block *superBlock); extern void dump_super_block(disk_super_block *superBlock);
extern void dump_data_stream(data_stream *stream); extern void dump_data_stream(data_stream *stream);
extern void dump_inode(bfs_inode *inode); extern void dump_inode(bfs_inode *inode);
extern void dump_bplustree_header(bplustree_header *header); extern void dump_bplustree_header(bplustree_header *header);
extern void dump_bplustree_node(bplustree_node *node,bplustree_header *header = NULL,Volume *volume = NULL); extern void dump_bplustree_node(bplustree_node *node,bplustree_header *header = NULL,Volume *volume = NULL);
extern void dump_block(const char *buffer, int size); extern void dump_block(const char *buffer, int size);
extern void unregister_debugger_commands();
extern void register_debugger_commands();
#endif #endif
#endif /* DEBUG_H */ #endif /* DEBUG_H */