T.R | Title | User | Personal Name | Date | Lines |
---|
741.1 | | TLE::LUCIA | http://asaab.zko.dec.com/~lucia/biography.html | Thu Dec 05 1996 17:05 | 14 |
741.2 | px doesn't work well with floating point registers | DECC::SEIGEL | | Fri Dec 06 1996 08:08 | 13 |
741.3 | A more specific list of separate requests | STEVEN::hobbs | Steven Hobbs | Fri Dec 06 1996 11:49 | 38 |
741.4 | | ADA9X::BRETT | | Fri Feb 14 1997 14:07 | 6 |
| You can see the precise value this way...
(ladebug) printf "%.18le",f
3.804305472977598400e-322
/Bevin
|
741.5 | Nonfinites in registers is the problem | STEVEN::hobbs | Steven Hobbs | Sat Feb 15 1997 17:26 | 17 |
| > You can see the precise value this way...
> (ladebug) printf "%.18le",f
> 3.804305472977598400e-322
I can see how this suggestion helps my point (5)--a cross reference
note 726--but I do not see how helps points (1) - (4) of this note
which deal with looking at architectural floating registers when they
contain values other than a finite T-float.
I know of two work arounds for problems (1) to (4): (a) patch a STT
instruction into memory, step over this instruction, and then examine
the memory location into which the floating register was stored; and
(b) switch from using ladebug to dbx and use the dbx printx command.
It would be helpful if the decladebug team could give me a more
convenient work around for examining architectural floating point
registers that do not contain finite T-floats.
|
741.6 | | ADA9X::BRETT | | Sat Feb 15 1997 23:21 | 5 |
| I believe the following may be capable of doing what you want
(ladebug) call printf("%c%c%c%c%c %p\n",0,0,0,0,0, $f0)
Of course its gross, and should be hidden under an alias.,..
|
741.7 | Nice try (if I were using dbx) | STEVEN::hobbs | Steven Hobbs | Sun Feb 16 1997 17:08 | 8 |
| The (ugly) work around suggested in .6 for looking at nonfinites in
floating registers works fine in dbx but I get an internal error when
I use it in ladebug (also see your note 844).
Do you want suggest another workaround?? (I now know 3 different ways
that work correctly in dbx but which demonstrate a bug in ladebug.
Will the next suggestion be a fourth example of a ladebug "feature"
that is missing in dbx?)
|
741.8 | | ADA9X::BRETT | | Mon Feb 17 1997 08:02 | 49 |
| The following seems to work consistently...
% cat tmp.c
/* A couple of functions to call from the debugger */
void pd(double f)
{
printf("%c%c%c%c%c %p\n",0,0,0,0,0,f);
}
void pf(float f)
{
printf("%c%c%c%c%c %p\n",0,0,0,0,0,f);
}
int main()
{
float f = 3.0;
return 0;
}
% cc -g tmp.c
%
% ladebug a.out
Welcome to the Ladebug Debugger Version 4.0-30
------------------
object file name: a.out
Reading symbolic information ...done
(ladebug) stop in main; run
[#1: stop in int main(void) ]
[1] stopped at [main:13 0x120001234]
13 float f = 3.0;
(ladebug) call pd(1.0)
3ff0000000000000
(ladebug) call pf(1.0)
3ff0000000000000
(ladebug) call pd(1.0)
3ff0000000000000
(ladebug) call pf(1.0)
3ff0000000000000
|
741.9 | | TLE::BRETT | | Wed Apr 02 1997 09:25 | 3 |
| I have assigned this to Subir
/Bevin
|
741.10 | | TLE::BRETT | | Thu May 01 1997 09:36 | 34 |
| 4.0 BL36
(ladebug) px $f14
0x1018
(ladebug) px $f0
0x1
(ladebug) px $f12
0x3fb999999999999a
(ladebug) printf "0x%16x\n",$f12
0x3fb999999999999a
(ladebug) printf "0x%17x\n",$f12
0x 3fb999999999999a
(ladebug) printf "0x%31x\n",$f12
0x 3fb999999999999a
Basically we taught the debugger how to interpret floating point values
to match a %x format.
Hmmm, how about this...
(ladebug) p $f12
99
(ladebug) printf "%d\n",$f12
99
%d prints the numeric value, not the bit-pattern value.
/Bevin
|
741.11 | | TLE::LUCIA | http://asaab.zko.dec.com/~lucia/biography.html | Fri May 02 1997 12:25 | 6 |
| My original thought, on reading about px and po, was that there were new
commands added, ala dbx 'printx' which says, get this bit pattern and print it
in hex, regardless of what type it really is. Treating printf with the %x and
%o as special is troubling. All printf patterns should match their C brethren,
which is, get these bits and display them as I asked. "Size" really means
precision for printing, not to be confused with how many bits to fetch.
|
741.12 | problem (2) is fixed | PACKED::ALLEN | Christopher Allen, Ladebug, dtn 381-0864 | Fri May 02 1997 12:25 | 9 |
| This problem from .3 has been fixed in 4.0-36:
(2) Ladebug needs a way to examine floating registers in hex. (The
notes I was referred to did not help).
The ladebug "printf" command has been enhanced to do this. Use the
ladebug "px" alias, which is an alias for the "printf" command.
-Chris
|
741.13 | | TLE::BRETT | | Sat May 17 1997 13:01 | 4 |
| 844 problems with the call has been fixed
closed
/Bevin
|