1. trace in eu 2.0 and eu 2.1

Hi,

I seem to remember the version of trace in Euphoria 2.0 letting you do
stuff like...

?length(my_seq)
?seq[2][2]

...maybe even...

?seq[1][2..4]

...directly into the trace program. You know, you hit "?" and trace asks
which variable you want to check.

In Euphoria 2.1, trace doesn't let you check lengths of sequences, or
elements, or slices. Is this now missing from the Euphoria 2.1 trace
or am I just remembering incorrectly?

-molasses

new topic     » topic index » view message » categorize

2. Re: trace in eu 2.0 and eu 2.1

I wish it did, but I don't think the trace in Euphoria has ever supported
displaying anything but variables.

EUPHORIA at LISTSERV.MUOHIO.EDU wrote:

> Hi,
>
> I seem to remember the version of trace in Euphoria 2.0 letting you do
> stuff like...
>
> ?length(my_seq)
> ?seq[2][2]
>
> ...maybe even...
>
> ?seq[1][2..4]
>
> ...directly into the trace program. You know, you hit "?" and trace asks
> which variable you want to check.
>
> In Euphoria 2.1, trace doesn't let you check lengths of sequences, or
> elements, or slices. Is this now missing from the Euphoria 2.1 trace
> or am I just remembering incorrectly?
>
> -molasses

--
Jeffrey Fielding
JJProg at cyberbury.net
http://members.tripod.com/~JJProg/

new topic     » goto parent     » topic index » view message » categorize

3. Re: trace in eu 2.0 and eu 2.1

On Wed, 7 Apr 1999 06:21:38 -0400, Jeffrey Fielding <JJProg at CYBERBURY.NET>
wrote:

>I wish it did, but I don't think the trace in Euphoria has ever supported
>displaying anything but variables.
>
>> I seem to remember the version of trace in Euphoria 2.0 letting you do
>> stuff like...
>>
>> ?length(my_seq)
>> ?seq[2][2]
>>
>> ...maybe even...
>>
>> ?seq[1][2..4]
>>
>> ...directly into the trace program. You know, you hit "?" and trace asks
>> which variable you want to check.

Sadly, that never was an option.  While we're on the topic, though, what
does everybody else think about adding features like breakpoints, variable
tracepoints, and being able to move the instruction pointer around (i.e.
making trace a full-fledged debugger)?

new topic     » goto parent     » topic index » view message » categorize

4. Re: trace in eu 2.0 and eu 2.1

Hmm... I think if those features are desired, a seperate
debugging program should be released by RDS. As it stands,
currently all debugging code is enabled (and inserted into
your program) via a simple "with trace" command; with all
of those extra features attatched to it, the trace option
would be somewhat less of a convenience: you wouldn't
exactly feel free to insert, delete, or leave the command
in your include files at will.


Rod Jackson

----------
From:   Brian Jackson[SMTP:bjackson at 2FARGON.HYPERMART.NET]
Sent:   Wednesday, April 07, 1999 8:17 AM
To:     EUPHORIA at LISTSERV.MUOHIO.EDU
Subject:        Re: trace in eu 2.0 and eu 2.1

On Wed, 7 Apr 1999 06:21:38 -0400, Jeffrey Fielding <JJProg at CYBERBURY.NET>
wrote:

>I wish it did, but I don't think the trace in Euphoria has ever supported
>displaying anything but variables.
>
>> I seem to remember the version of trace in Euphoria 2.0 letting you do
>> stuff like...
>>
>> ?length(my_seq)
>> ?seq[2][2]
>>
>> ...maybe even...
>>
>> ?seq[1][2..4]
>>
>> ...directly into the trace program. You know, you hit "?" and trace asks
>> which variable you want to check.

Sadly, that never was an option.  While we're on the topic, though, what
does everybody else think about adding features like breakpoints, variable
tracepoints, and being able to move the instruction pointer around (i.e.
making trace a full-fledged debugger)?

new topic     » goto parent     » topic index » view message » categorize

5. Re: trace in eu 2.0 and eu 2.1

I'd just like to be able to show a sliced view of a variable.
Adding breaks by variable value would be nice BUT.  not really
needed.  Actually the slicing isn't NEEDED but would be greatly
appreciated.

Say I have a long sequence like.
sequence s
s = rand(repeat(256,50))-1
and I want to see the value stored at 32
? s[32] would be great but.
adding this will work.
integer s32
s32 = s[32]
then I would be able to ? s32 Of course at that point of
assignment it would show it anyway.  BUT this isn't great
for multiple values over a large area.  The best that can be
done at that point is taking it into big chunks and ciphering
through it the best you can.  NOT a Pretty sight.

    Lucius L. Hilley III
    http://www.cdc.net/~lhilley
http://www.davecentral.com  --Software depot.
http://www.tucows.com       --Software depot & Rating.
http://www.wotsit.org       --Extension - File format arena


On Wed, 7 Apr 1999 09:17:19 -0400, Brian Jackson
<bjackson at 2FARGON.HYPERMART.NET> wrote:

>On Wed, 7 Apr 1999 06:21:38 -0400, Jeffrey Fielding <JJProg at CYBERBURY.NET>
>wrote:
>
>>I wish it did, but I don't think the trace in Euphoria has ever supported
>>displaying anything but variables.
>>
>>> I seem to remember the version of trace in Euphoria 2.0 letting you do
>>> stuff like...
>>>
>>> ?length(my_seq)
>>> ?seq[2][2]
>>>
>>> ...maybe even...
>>>
>>> ?seq[1][2..4]
>>>
>>> ...directly into the trace program. You know, you hit "?" and trace asks
>>> which variable you want to check.
>
>Sadly, that never was an option.  While we're on the topic, though, what
>does everybody else think about adding features like breakpoints, variable
>tracepoints, and being able to move the instruction pointer around (i.e.
>making trace a full-fledged debugger)?

new topic     » goto parent     » topic index » view message » categorize

6. Re: trace in eu 2.0 and eu 2.1

-----
> Sadly, that never was an option.  While we're on the topic, though, what
> does everybody else think about adding features like breakpoints, variable
> tracepoints, and being able to move the instruction pointer around (i.e.
> making trace a full-fledged debugger)?

The first two are already support code-wise.
You could do things like this:

if x < 0 or x > max_integer then
    trace (1) -- conditional breakpoint
end if

The above looks like an extremely powerful conditional breakpoint system.
You could just put trace (1) in front of the statement that needs to 'break' as
well as check for certain variable values, or
whatever complex condition you need to check for. However, about moving the
instruction-pointer, I don't see that as an option.
(it would be too messy)

What I would like in the debugger.
1)- jump clauses control, pressing 'tab' makes it go to the next statement
    and if its a jump clause (if, while, call_func,
call_proc) it lets you choose which way to go.
2)-- being able to immediate execute a statement. (default output of ? goes
    to file-handle 2, the error-device, which comes
into the trace-console, and is stored into ex.err, rather then ending up on the
screen. (trace mode or not)
3)-- down and enter move to the next jump-clause statement, rather than
    jumping over all statements.
    4)-- shift-down/enter moves to the next statement
    5)-- space skips the current statement.
6)-- right makes it step to the next evaluation. (so you can see the
    arguments getting formed.
7)-- output by the program, going to file handle 2 ends up in the trace
    console as well as in ex.err
8)-- in trace mode, at the end the program will not just stop, but be
    officially 'halted' .. we should still be able to
execute an immediate statement, or check some variables, etc. Or output some
data (or thoughts: puts (2, "My thought") etc.

This would greatly improve tracing.
Point 1 would be the most difficult to implement, however point 2, 3, 4, 5, 7
and 8 would be fairly easy to implement.

Robert, tell us, which of these suggestions are 'do-able' in the way the
interpreter currently works, and which improvement, do
you plan to add ?

Ralf N.

new topic     » goto parent     » topic index » view message » categorize

7. Re: trace in eu 2.0 and eu 2.1

Ralf writes:
> Robert, tell us, which of these suggestions are 'do-able' in the
> way the interpreter currently works, and which improvement,
> do you plan to add ?

I'm most likely to add a method for displaying any portion of
a variable - either through specifying subscripts or slices, or
perhaps through scrolling the value of  a sequence left<->right,
or perhaps both.

I've never found much use for artificially changing the values
of variables, or the normal flow of control while debugging.

I don't think Euphoria needs a super-sophisticated debugger,
like some C/C++ compilers, since you can easily insert
print statements and rerun your code, and since you
won't have as many subscript bugs, uninitialized variable
bugs etc. in Euphoria.

Regards,
     Rob Craig
     Rapid Deployment Software
     http://members.aol.com/FilesEu/

new topic     » goto parent     » topic index » view message » categorize

8. Re: trace in eu 2.0 and eu 2.1

Robert Craig wrote:

> I'm most likely to add a method for displaying any
> portion of a variable - either through specifying
> subscripts or slices, or perhaps through scrolling
> the value of  a sequence left<->right, or perhaps both.

All right! Woo hoo! smile

> I've never found much use for artificially changing
> the values of variables, or the normal flow of control
> while debugging.

I've often wanted it to excercise various routine paths, change a value to
see how the code will react, and so forth. One of the nice things about
Euphoria is the strong debugging environment, and just about any feature to
strengthen the debugger is probably a Good Thing. I was in severe withdrawl
when Win32 trace screens where pokey-slow, and I had to do without for a
while.

-- David Cuny

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu