[comp.lang.asm370] Single Step Debugger

siperas@hsi86.hsi.com (Steve Siperas) (11/21/90)

Hi

This is a follow up to the previous debugging question.

Does anyone know of any Single Step Debugging Tools for Batch Assembler
Programs under VM. Has been looked into but doesn't seem to be any vendors
with this product.


steve

Steve Siperas                   siperas@hsi.com -OR- {yale,uunet}!hsi!siperas
Code 3/HSI Systems Inc.
(A Unit of 3M)
Wallingford, Connecticut

I've never really trusted Smokey the Bear.  Everytime I see him I
wonder what happened to the Boy Scout that was orginally wearing that hat.

richg@locus.com (Rich Greenberg) (11/25/90)

In article <2624@hsi86.hsi.com> siperas@hsi86.hsi.com (Steve Siperas) writes:
>Hi
>Does anyone know of any Single Step Debugging Tools for Batch Assembler
>Programs under VM. Has been looked into but doesn't seem to be any vendors
>with this product.

I am not sure what you mean by "batch" assembler under VM.  If you
are talking about anything other than running a bal program under
CMS with you sitting there at the terminal stepping thru the program,
the following doesn't apply.
I do a lot of assembly programming under VM/CMS.  While a symbolic
debugger would be nice, I have never worked at a place that did enough
assembly programming to justify getting one, so I make use of the
native debugger under VM, known as PER.  Long available as a user mod,
PER became standard in VM at release 3 of VM/SP.   PER plus TRACE
give the ability to single step sections of code or all of it, 
and set/reset various breakpoints.
(Under VMXA/SP, PER has been folded into the TRACE command but the
PER command is a synonym for TRACE).  Consult the CP command refrence
for details & syntax, its too long to go into here.  A few hilites:
 * Trace all/specific instructions within a range/everywhere.
 * Trace interrupts, i/o, program, etc.
 * Trace braches.                                   
 * Trace storage alteration.
 * o/p to terminal, printer, both.
 * Stop on an event/continue after displaying trace info.
 * Execute (almost) any CP command at the stop.
 * Don't display the trace info until the nth hit.
 * Only display every nth hit.
 * Etc etc etc.
 
You should have a reasonably current assembly listing handy, and a
good idea is to assemble it to the address that CMS will load it
at when running (usually x'20000' or x'E000').
To do this use:
  NAME    START  X'20000'
instead of:
  NAME    CSECT
at the begining of the program.
That way you can read addresses off the listing without having to
constantly be adding/subtracting x'20000'.
 
If you have specific questions, follow up here or email to
       Richg@locus.com

news@ucf1vm.BITNET (11/25/90)

In article <2624@hsi86.hsi.com> siperas@hsi86.hsi.com (Steve Siperas) writes:
>Hi
>Does anyone know of any Single Step Debugging Tools for Batch Assembler
>Programs under VM. Has been looked into but doesn't seem to be any vendors
>with this product.

I am not sure what you mean by "batch" assembler under VM.  If you
are talking about anything other than running a bal program under
CMS with you sitting there at the terminal stepping thru the program,
the following doesn't apply.
I do a lot of assembly programming under VM/CMS.  While a symbolic
debugger would be nice, I have never worked at a place that did enough
assembly programming to justify getting one, so I make use of the
native debugger under VM, known as PER.  Long available as a user mod,
PER became standard in VM at release 3 of VM/SP.   PER plus TRACE
give the ability to single step sections of code or all of it,
and set/reset various breakpoints.
(Under VMXA/SP, PER has been folded into the TRACE command but the
PER command is a synonym for TRACE).  Consult the CP command refrence
for details & syntax, its too long to go into here.  A few hilites:
 * Trace all/specific instructions within a range/everywhere.
 * Trace interrupts, i/o, program, etc.
 * Trace braches.
 * Trace storage alteration.
 * o/p to terminal, printer, both.
 * Stop on an event/continue after displaying trace info.
 * Execute (almost) any CP command at the stop.
 * Don't display the trace info until the nth hit.
 * Only display every nth hit.
 * Etc etc etc.

You should have a reasonably current assembly listing handy, and a
good idea is to assemble it to the address that CMS will load it
at when running (usually x'20000' or x'E000').
To do this use:
  NAME    START  X'20000'
instead of:
  NAME    CSECT
at the begining of the program.
That way you can read addresses off the listing without having to
constantly be adding/subtracting x'20000'.

If you have specific questions, follow up here or email to
       Richg@locus.com