🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.msdos.programmer
Article #4867

Re: Romable code with Microsoft C?

#4867
From: Jeffrey R Stone
Date: Mon, 25 Feb 1991 17:25
67 lines
3513 bytes
In an earlier posting I offered to describe some bugs I had found in
Turbo Debugger.  Since I've had several requests, I am posting the
list here.  None of them is so serious as to make TD unuseable, but
one of them (the block-write bug) quietly causes bad data to be
written to a file.  I feel that Borland ought to have fixed this one
immediately and should have all notified registered users of its
existence.

This is not a diatribe against the company or its products.  I use TD 
personally and professionally and highly recommend it.  In spite of 
these bugs, it is still my personal and professional opinion that it is 
the best debugger available for software development targeted to 8086-
family processors.  I am offering this information to other users of 
Turbo Debugger who may benefit by not having to waste the time I did 
looking for non-existent bugs.  I would be appreciate hearing about 
other bugs and work arounds to them.

-jeff-
 

The list:

1. Block I/O in remote mode writes bad data.

   When using TD in remote mode, block I/O from between target memory 
   and a local file happens in 120-byte packets.  Unfortunately, the 
   memory pointer seems to be advanced only 110 bytes each time.  On 
   output, this causes the last 10 bytes of the first packet to be 
   repeated as the first 10 bytes of the second, and so on.  My remedy 
   was to write enough more data than I really wanted to make up for the 
   bytes wasted to repetition, then post-process the output files to 
   remove the repeated bytes.


2. Two-valued dialog boxes fail after using the assembler.

   Some dialog boxes request two inputs, such as starting address and 
   byte count for block writes, or port-address and data for output to a 
   port.  Once you have assembled instructions into memory using the 
   internal assembler, these dialog will fail with the message "Extra 
   input after expression".  The remedy is to patch in hexadecimal 
   (Yuck!) in a data window if you will want to to use any features that 
   use two-valued dialog boxes later in the session. 


3. Block I/O buffers aren't flushed when shelling out.

   While the buffers are managed OK at exit, I often wanted to shell out 
   to graph some data captured from the remote system, and then resume my 
   interupted program where it left off.  Requiring me to exit first 
   loses the states of the target program and the debugger.


4. TD won't inspect the value of functions written in assembler.

   It can inspect the value of C functions, so why not assembler 
   functions?  Not exactly a bug, but it seems an unnecessary and 
   useless restriction.


The follwing was supplied to me one of the respondents, for which I am
grateful.  I have not tested it.

  If a breakpoint condition is too long, the popup window that tries to 
  tell you about it will crash the whole machine.  It doesn't try to wrap
  the expression.
Technical Details
Message-ID: <1991Feb25.172558.23849@world.std.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!decwrl!world!jstone
References: <1991Feb22.155750.1404@wuphys.wustl.edu> <1991Feb22.211530.4528@nntp-server.caltech.edu> <1991Feb23.131631.21569@world.std.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!decwrl!world!jstone
From: jstone@world.std.com (Jeffrey R Stone)
Newsgroups: comp.os.msdos.programmer,comp.sys.ibm.pc.hardware
Subject: Re: Romable code with Microsoft C?
Message-ID: <1991Feb25.172558.23849@world.std.com>
Date: 25 Feb 91 17:25:58 GMT
References: <1991Feb22.155750.1404@wuphys.wustl.edu> <1991Feb22.211530.4528@nntp-server.caltech.edu> <1991Feb23.131631.21569@world.std.com>
Organization: The World @ Software Tool & Die
Lines: 67