[[Property:title|Command line debugger]]
[[Property:weight|-3]]
[[Property:uuid|ad1ef861-8307-a56c-5f94-f236c520da55]]
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.


