'''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