Lugaru's Epsilon
Programmer's
Editor

Context:
Epsilon User's Manual and Reference
   Primitives and EEL Subroutines
      . . .
      Operating System Primitives
         System Primitives
         Window System Primitives
         Timing
         Calling Windows DLLs
         Running a Process
      Control Primitives
         . . .
         Bytecode Files
         Starting and Finishing
         EEL Debugging and Profiling
         Help Subroutines
      Input Primitives
         Keys
         The Mouse
         Window Events
         . . .
         Binding Primitives
      . . .

Previous   Up    Next
Starting and Finishing  Primitives and EEL Subroutines   Help Subroutines


Epsilon User's Manual and Reference > Primitives and EEL Subroutines > Control Primitives >

EEL Debugging and Profiling

int name_debug(int index)
set_name_debug(int index, int flag)

Every command or subroutine in Epsilon's name table has an associated debug flag. If the debug flag of a command or subroutine is nonzero, Epsilon will start up the EEL debugger when the function is called, allowing you to step through the function line by line. See Changing Commands with EEL. The name_debug( ) primitive returns the debug flag for an item, and the set_name_debug( ) primitive sets it.

start_profiling()
stop_profiling()
char *get_profile()

Epsilon can generate an execution profile of a section of EEL code. A profile is a tool to determine which parts of a program are taking the most time. The start_profiling( ) primitive begins storing profiling information internally. Profiling continues until Epsilon runs out of space, or you call the stop_profiling( ) primitive, which stops storing the information. Many times each second, Epsilon saves away information describing the location in the source file of the EEL code it is executing, if you've turned profiling on. You can use this to see where a command is spending its time, so that you can center your efforts to speed the command up there.

Once you stop the profiling with the stop_profiling( ) primitive, you can retrieve the profiling information with the get_profile( ) primitive. Each call returns one line of the stored profile information, and the function returns a null pointer when all the information has been retrieved. Each line contains the name of an EEL source file and a line number within the file, separated by a space. See the profile command for a more convenient way to use these primitives. Functions that you've compiled with the EEL compiler's -s flag will not appear in the profile.



Previous   Up    Next
Starting and Finishing  Primitives and EEL Subroutines   Help Subroutines


Lugaru Copyright (C) 1984, 2012 Lugaru Software Ltd. All Rights Reserved.