==========================================================================
=    x_debug: experimental debugger using DWARF2 debugging info.         = 
=    -- Copyright (c) 2003, gondow@jaist.ac.jp, All rights reserved      =
==========================================================================

Disclaimer:
-----------
    WARNING: this software is not completely tested.
    This software is intended to be useful, but it has no warranty.
    Use this software at your own risk. We disclaim any liability of any 
    kind of damages whatsoever resulting from the use of this software.

Overview:
---------
    This is the beta version of x_debug, an experimental debugger
    using DWARF2 debugging information.
    `x_debug' is still under development; further debugging, testing,
    and refactoring are required.

    x_debug requires `readelf+' and 'dwarf2.dtd' to produce DWARF2-XML
    documents.

Platform:
---------
    Currently, we have compiled and tested x_debug in the following platform.

    - Solaris 8, GCC 3.3.2

Build and Installation:
------------
    Before do the following, please make sure that libxml2 is installed.

    To build, 

	% tar xvzf x_debug-b1.tgz
	% cd x_debug-b1
	% vi Makefile   # modify LDFLAGS and CFLAGS to fit your environment
        % make

    To install, 
        % make install INSTALL_DIR=/somewhere/x_debug/to/be/placed
        % set path = (/somewhere/x_debug/to/be/placed $path)

Usage:
------
        % cp /somewhere/x_debug/to/be/placed/dwarf2.dtd
    	% gcc -g3 -gdwarf-2 foo.c
        % readelf+ -X a.out > foo.xml
    	% x_debug a.out foo.xml
	x_debug> run           # 'run' is required to attach the process.
	stopped: pc=0xff3b29c0: file = foo.c, func = , line = 6
	x_debug> break main
	x_debug> cont
	Stopped: SIGTRAP (pc=0x10678): file = foo.c, func = main, line = 3
	x_debug> step
	Stopped: SIGTRAP (pc=0x1067c): file = foo.c, func = main, line = 4
	x_debug> step
	Stopped: SIGTRAP (pc=0x10684): file = foo.c, func = main, line = 5
	x_debug> print x
	offset = -20
	*(int*)(ffbefedc) => 999
	x_debug> cont
	x = 999
	process (16148) exited with code 66
	x_debug> quit
	%
