Can I use -data-evaluate-expression to evaluate sin(4.1)?
Nikolay Molchanov
Nikolay.Molchanov@Sun.COM
Tue Dec 19 17:02:00 GMT 2006
Nick Roberts wrote:
> > -data-evaluate-expression sin(5.1)
> > ^done,value="3"
> > (gdb)
> >
> >
> > Can I use "-data-evaluate-expression" to evaluate
> > sin(x) function? If yes, why it returns a wrong
> > "int" value?
>
> By default (without debuginfo as Frederic says) it assumes sin takes an
> integer argument and returns an value (I think).
>
> You need to cast sin explicitly:
>
> (gdb)
> -data-evaluate-expression "((double ((*) (double))) sin) (5.1)"
> ^done,value="-0.92581468232773245"
> (gdb)
> -data-evaluate-expression "((double ((*) (double))) sin) (4.1)"
> ^done,value="-0.81827711106441026"
>
>
>
Thank you very much for the explanation!
I verified that "ptype sin" gets wrong type ("int"):
ptype sin
&"ptype sin\n"
~"type = \n"
~" int (void)\n"
^done
And thank you for the workaround, probably we can use it for
known functions (sin, cos, ...).
More information about the Gdb
mailing list