Re: Variables address (Reformulated)

new topic     » goto parent     » topic index » view thread      » older message » newer message

André Drummond wrote:
> 
> Sorry everyone,
> 
> I found a message from Robert Craig that repudiate the idea of
> getting a euphoria variable address, as he say:
> 
> "I firmly believe this would be a very bad thing to do"
> 
> So, considering that, I want to reformulate my question.
> 
> Can anyone give me an idea of an efficient method to create something
> like the ex.err file in a C translated program?
> 
> My current solution is to set a global variable with the
> values of some relevant variables. I do that in many parts of the code
> where I "feel" that a crash may occur, let´s put in another way...
> any critical block in the code is preceded by a call to a routine that
> set my global variable with some values passed as parameters,
> usually variables used in the "critical block".
> 
> So, when a crash occur, another routine, designated by crash_routine(),
> takes control and just prints out the values from my global variable.
> 
> What about that? Watch out SUN J2EE... just kidding,
> I know it is a "very" amateur approach.
> 
> So, any creative ideas.
> 
> Thank you all,
> André Drummond
> 

Hello André,

I usually pass by answering this general kind of thing because I always imagine
others have more sophisticated techniques.  However, I'll dive in with an idea:
what about not waiting for a crash to record what your program is doing?  When I
am developing a program I set the constant DEBUG=1, and pepper my code with some
version of the code below:

if DEBUG then
    state=AppendFile(DEBUGFILE,relevantData,"Current Prg Report-Section X")
    CheckState(state,"DEBUG:File problem: AppendFile() failed on Report X")
end if

The constant DEBUGFILE is set to the fullpath of the debug file and AppendFile()
does what it says.

Obviously if the program fails at a certain point, the previously saved info is
readily available.  If you use a program similar to Edita, you would just click
the debug file's tab and re-open it.  And if some sections are working fine, just
delete or comment-out the DEBUG stuff.  If you have no access to setting DEBUG,
then set up a way to turn debugging on and off.

--Quark

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu