delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/02/17/04:35:52

Date: Thu, 17 Feb 1994 09:27:59 +0100
From: terra AT diku DOT dk
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Full Screen Debugger available

Hi!

I have uploaded the file fsdb090.zip to

	omnigate.clarkson.edu:/pub/msdos/djgpp/pub

It is version 0.90 (beta) of my new full screen debugger inspired
by Borland's Turbo Debugger.  It is distributed as the changed and
new source files to djgpp's default debugger; you must compile it
yourself.  Don't forget to backup your copy of "ed" before you
install this.

Have fun!

Morten Welinder
terra AT diku DOT dk



The manual...

-------------------------------------------------------------------------
              Sally Full Screen Debugger version 0,90 beta
-------------------------------------------------------------------------


This is a quick-and-dirty manual for the Sally Full Screen Debugger,
a new user interface to the old djgpp debugger.  The interface was
inspired by Turbo Debugger, the very best debugger that I have ever
seen.  Too bad it doesn't work for 32 bit programs.

The debugger has been tested under the following conditions only, but
I expect no problems in other environments except as noted below:

	* Cpu: 486 (i.e., with fpu)
	* Colour Vga screen, text mode.
	* Vcpi mode of the extender.

I think it will work on a mono screen also, but I'm not sure.  It seems
to be working with 43 or 50 lines displays, but this is not fully tested.
Graphics mode does not work -- a little work in get_screen() and 
put_screen() could fix that, but it might be slow.  I expect no problems
when used with the 387 emulator, but without that or a fpu you should
not call up the npx window.  Finally, I don't know about Dpmi.

I have no problems with speed, even on large programs like Gnu Emacs,
but some of the redisplay routines are greedy.  A few caches might help,
but I don't feel like doing it right now.

Yet to do, but did not feel like it right now:

	* Alt-S to swap in the source in place of the disassembly.
	* Alt-M to swap in a memory status display somewhere.

	* Handle screen mode switch gracefully.
	* Handle graphics modes.

	* Entry of strings or multiple bytes in the data pane.
	* Display of data in different formats.

	* More than three breakpoints by patching with `Int 3'.
	* F4/F8/F9 should step over breakpoint at cursor like F7 does.
	* Conditional breakpoints.
	* Breakpoint on data change, or port i/o.

	* Improve precision of npx manipulations.
	* Enhance expression evaluator.
	* Debug logs.
	* Restart capability.
	* On-line help.
	* Ctrl-Break catch.

Some keys have been assigned aliases; these aliases are not shown
in the key descriptions here.


Global Keys:
-----------

The following keys are defined no matter where the current focus
is pointed at.

        Tab         Goto next pane (clockwise).
        BackTab     Goto previous pane.
        Alt-C       Replace npx pane with code pane.
        Alt-N       Replace code pane with npx pane.
        Alt-X       Exit.
        Alt-F5      Show user program screen.
        F7          Single step program.
        F8          Single step program, but step over calls.
        F9          Run or continue program.



Code Pane Keys:
--------------

        Up          One instruction backwards (only 99% perfect).
        Down        One instruction forwards.
        PgUp        A screenful of instructions backwards.
        PgDn        A screenful of instructions forwards.
        Ctrl-Left   Start instruction display one byte before.
        Ctrl-Right  Start instruction display one byte later.
        Ctrl-G      Goto specified address.
        Ctrl-N      Set eip to instruction under cursor -- careful!
        Ctrl-O      Goto current eip.
        F2          Set/reset breakpoint.  Only three can be set at any time.
        F4          Set temporary breakpoint at cursor and run.



Register Pane Keys:
------------------

        Up/Down     What you expect.
        Other       Enter new value for register.


Flag Pane Keys:
--------------

        Up/Down     What you expect.
        Space       Toggle flag.
        S           Set flags.
        R           Reset flag.


Breakpoint Pane Keys:
--------------------

        Up/Down     What you expect.
        Delete      Reset breakpoint.
        Return      Go to breakpoint.


Data Pane Keys:
--------------

        Up/Down     What you expect.
        Left/Right  What you expect.
        PgUp/PgDn   What you expect.
        Ctrl-G      Goto specified address.
        Other       Enter new byte value.



Npx Pane Keys:
-------------

        Up/Down     What you expect.
        Ctrl-C      Clear register.
        Ctrl-Z      Zero register.
        Ctrl-N      Negate register.
        Other       Enter new value for register.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019