Command line debugger

The command line debugger is not as rich as the EiffelStudio debugger, however it provides simple debugging functionalities without any graphical user interface.

How to enter the command line interface ?

  • ec -config your_system.ecf -debug
  • Then you get the debug menu
	--< Debugger main menu >--
	 (A) Set arguments
	 (E) Set environment
	 (D) Set working directory
	 (I) Display parameters
		  ---
	 (R) Start and stop at breakpoints
	 (L) Start without stopping at breakpoints
	 (S) Step into
		  ---
	 (H) Help
	 (Q) Quit
	 ->
  • Enter your choice using the letter inside parentheses
    • (A) to set the arguments for the execution
    • (E) to set the environment variables
    • (D) for the working directory
    • (R), (L) or (S) to start the execution
    • When the execution is paused, you can display the menu by pressing ENTER

To set breakpoints

If you want to set breakpoints, you first need to step into (S) to start execution

    • The execution starts, then pauses at the entry of the system
    • Press ENTER to get the new "Debugger execution menu"
	--< Debugger execution menu >--
	 (N) Step next
	 (I) Step into
	 (O) Step out
	 (C) Run to next stop point
	 (G) Run without stop point
	 (T) Toggle 'Ignore stop point
	 (K) Kill application
	 (P) Pause application
		  ---
	 (B) Breakpoints control
	 (D) Display information
	 (H) Help
	 ->
    • Then you choose "(B) Breakpoints control" to add, modify or list breakpoints.
	--< Debugger menu :: Breakpoints >--
	 (A) Add breakpoint
	 (M) Modify existing breakpoint
	 (L) List breakpoints
	 (H) Help
 	 (..) Back to parent menu
	 ->

Limitations

  • It is not possible to interrupt the execution.
  • The command line debugger is not as rich as the EiffelStudio graphical debugger. As a result you may miss specific functionalities (such as conditional breakpoints, ...) available in the EiffelStudio debugger.
  • The command line debugger is experimental. It would need more enhancement to satisfy advanced debugging needs, however it provides simple (and limited) debugging facilities directly from the command line.