'''UNDER CONSTRUCTION''' **Tcl Plugin for Netbeans - Debugger Overview** ***Debug Process*** Debugger is separated into two parts: Java (implements Netbeans Debugger Core API and Debugger Core - UI) and Tcl part (debugServer.tcl). Java part communicates with debugServer.tcl using socket and simple "newline" based protocol. To handle script execution Tcl's [trace] and [info] are used.<
> To start debug process use '''Debug Project''' ''(Ctrl+F5)'' then following state will appear:<
> <
> %|Netbeans window after '''Debug Project''' ''(Ctrl+F5)'':|% |[http://wiki.tcl.tk/_repo/images/dmp/DebugBefore.png]| <
> Tclsh executes debugServer.tcl. It's waiting for connection from Netbeans Interface. Click any (except Stop) [http://wiki.tcl.tk/28657#pagetocab4f3e78%|%debugger control button] to make a connection. debugServer.tcl will put appropriate information. Execution stops at the very first step of script. Now use [http://wiki.tcl.tk/28657#pagetocab4f3e78%|%debugger interface] to control debug process.<
> <
> %|After connection:|% |[http://wiki.tcl.tk/_repo/images/dmp/DebugConnection.png]| <
> ***Debugger Control Buttons*** [http://wiki.tcl.tk/_repo/images/dmp/DebugControls.png]<
> From the left side:<
> * ''Finish Debugger Session:'' To quit debug mode. Terminates script execution. * ''Pause:'' Unused. * ''Continue:'' Run script until it reaches breakpoint. * ''Step Over:'' Single step, stepping over instruction if available. * ''Step Into:'' Single step, stepping into instruction if available. * ''Run To Cursor:'' Run script until it reaches cursor position or next breakpoint. ***Debugger Views*** ****Breakpoints**** Set breakpoint by click line number inside editor. Using ''Breakpoints View'' you could '''Jump To''' place where selected breakpoint is located or '''Delete''' one.<
> <
> %|Breakpoints View|% |[http://wiki.tcl.tk/_repo/images/dmp/DebugBreakpointsView.png]| ****Variables**** Formatted content of [info locals%|%[info locals]] and [info globals%|%[info globals]]. Using the diamond with plus (on the left side of ''Variables View'') - a ''Watch'' could be added. Other diamonds may be used to show watches inside ''Variables View'' or ''Evaluation Result'' (Evaluation is unused).<
> <
> %|Variables View|% |[http://wiki.tcl.tk/_repo/images/dmp/DebugVariablesView.png]| ****Watches**** Appears as a separate window when ''Show Watches Inside Variables View'' option (inside ''Variables View'') is disabled.<
> <
> %|Watches View|% |[http://wiki.tcl.tk/_repo/images/dmp/DebugWatchesView.png]| ****Call Stack**** %|Call Stack View|% |[http://wiki.tcl.tk/_repo/images/dmp/DebugCallStackView.png]| <>GSoC|GSoC 2011 Executed Projects|netbeanstcl