Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Dynamic Languages Toolkit (DLTK) » Debugging Tcl
Debugging Tcl [message #32287] Wed, 01 October 2008 16:06 Go to next message
Aaron S. Kurland is currently offline Aaron S. Kurland
Messages: 6
Registered: July 2009
Junior Member
Hi,

I've setup my system which I believe has all the correct components (SDK
3.4, DLTK .95, tcl8.5, and the komodo debugger 4.4). I'm confident that
all is well as I can debug a small application. If I try to debug a larger
one (~1500 lines) the debugger exits with a result of 0. Here is the log:

Event: CHANGE from org.eclipse.debug.core.model.RuntimeProcess
Event: CREATE from org.eclipse.debug.core.model.RuntimeProcess
Event: CHANGE from org.eclipse.debug.core.model.RuntimeProcess
Event: MODEL_SPECIFIC from
org.eclipse.dltk.internal.debug.core.model.ScriptDebugTarget
Event: CREATE from org.eclipse.dltk.internal.debug.core.model.ScriptThread
Event: MODEL_SPECIFIC from
org.eclipse.dltk.internal.debug.core.model.ScriptThread
Event: RESUME from org.eclipse.dltk.internal.debug.core.model.ScriptThread
Event: CHANGE from org.eclipse.dltk.internal.debug.core.model.ScriptThread
<< DbgpPacket (152 bytes) <?xml version="1.0" encoding="UTF-8" ?>
<response xmlns="urn:debugger_protocol" command="step_into"
transaction_id="10" status="stopping" reason="ok" />
>> stop -i 11
<< DbgpPacket (146 bytes) <?xml version="1.0" encoding="UTF-8" ?>
<response xmlns="urn:debugger_protocol" command="stop" transaction_id="11"
status="stopped" reason="ok" />
Event: TERMINATE from
org.eclipse.dltk.internal.debug.core.model.ScriptThread

Any ideas?
Re: Debugging Tcl [message #32322 is a reply to message #32287] Wed, 01 October 2008 17:58 Go to previous messageGo to next message
Aaron S. Kurland is currently offline Aaron S. Kurland
Messages: 6
Registered: July 2009
Junior Member
More information:

If I set the Debug Configuration to Break on first line, the debugger
stops at package.tcl:15 (not the first line of the code I am debugging).
After clicking Resume, none of my other breakpoints are hit (even though I
see output from them in the Debug Console window.
Re: Debugging Tcl [message #32356 is a reply to message #32287] Wed, 01 October 2008 21:54 Go to previous messageGo to next message
Alex Panchenko is currently offline Alex Panchenko
Messages: 342
Registered: July 2009
Senior Member
Hi Aaron,

you can turn on logging on the debugging engine side:

Preferences - Tcl - Debug - Engines - Active State

The 3rd block is "Logging" - specify the path for the log file.
It should contain more information about what happens internally in the
debugger.

Regards,
Alex

Aaron S. Kurland wrote:
> Hi,
>
> I've setup my system which I believe has all the correct components (SDK
> 3.4, DLTK .95, tcl8.5, and the komodo debugger 4.4). I'm confident that
> all is well as I can debug a small application. If I try to debug a
> larger one (~1500 lines) the debugger exits with a result of 0. Here is
> the log:
>
> Event: CHANGE from org.eclipse.debug.core.model.RuntimeProcess
> Event: CREATE from org.eclipse.debug.core.model.RuntimeProcess
> Event: CHANGE from org.eclipse.debug.core.model.RuntimeProcess
> Event: MODEL_SPECIFIC from
> org.eclipse.dltk.internal.debug.core.model.ScriptDebugTarget
> Event: CREATE from org.eclipse.dltk.internal.debug.core.model.ScriptThread
> Event: MODEL_SPECIFIC from
> org.eclipse.dltk.internal.debug.core.model.ScriptThread
> Event: RESUME from org.eclipse.dltk.internal.debug.core.model.ScriptThread
> Event: CHANGE from org.eclipse.dltk.internal.debug.core.model.ScriptThread
> << DbgpPacket (152 bytes) <?xml version="1.0" encoding="UTF-8" ?>
> <response xmlns="urn:debugger_protocol" command="step_into"
> transaction_id="10" status="stopping" reason="ok" />
>>> stop -i 11
> << DbgpPacket (146 bytes) <?xml version="1.0" encoding="UTF-8" ?>
> <response xmlns="urn:debugger_protocol" command="stop"
> transaction_id="11" status="stopped" reason="ok" />
> Event: TERMINATE from
> org.eclipse.dltk.internal.debug.core.model.ScriptThread
>
> Any ideas?
Re: Debugging Tcl [message #32460 is a reply to message #32356] Fri, 03 October 2008 10:13 Go to previous messageGo to next message
Aaron S. Kurland is currently offline Aaron S. Kurland
Messages: 6
Registered: July 2009
Junior Member
Alex Panchenko wrote:

> you can turn on logging on the debugging engine side:

> Preferences - Tcl - Debug - Engines - Active State

> The 3rd block is "Logging" - specify the path for the log file.
> It should contain more information about what happens internally in the
> debugger.

Thanks Alex! I tried that and got a 1.3MB file that I attempted to wade
through full of excitement and ignorance. Quickly getting lost, I tried to
reduce my code to get to a state where the breakpoints started to work (as
I had seen it work on other programs).

And sure enough, I found it. Here is the line:

} elseif {[info exists identifier($first)] && [keylget
identifier($first) type] eq {label}]} {

Note the errant right bracket at the end of the conditional statement. I
removed it and everything was ducky. Clearly something went horribly amiss
here. Shouldn't the syntax checker have found this? Is this something I
should report or simply chalk it up to my carelessness and move on?

Aaron
Re: Debugging Tcl [message #32496 is a reply to message #32460] Fri, 03 October 2008 22:02 Go to previous messageGo to next message
Alex Panchenko is currently offline Alex Panchenko
Messages: 342
Registered: July 2009
Senior Member
Hi Aaron,

We have expression checker in our plans, it's just not implemented yet.

At the moment you can use external tools mentioned at
http://wiki.tcl.tk/3162

DLTK have support of external tools:

You can configure them in Preferences - DLTK - Validators (TclChecker
has specific support, others could be used via "ExternalChecker")

And execute the configured tools with the right click "DLTK Validators"
submenu

Regards,
Alex

Aaron S. Kurland wrote:
> Alex Panchenko wrote:
>
>> you can turn on logging on the debugging engine side:
>
>> Preferences - Tcl - Debug - Engines - Active State
>
>> The 3rd block is "Logging" - specify the path for the log file.
>> It should contain more information about what happens internally in
>> the debugger.
>
> Thanks Alex! I tried that and got a 1.3MB file that I attempted to wade
> through full of excitement and ignorance. Quickly getting lost, I tried
> to reduce my code to get to a state where the breakpoints started to
> work (as I had seen it work on other programs).
>
> And sure enough, I found it. Here is the line:
>
> } elseif {[info exists identifier($first)] && [keylget
> identifier($first) type] eq {label}]} {
>
> Note the errant right bracket at the end of the conditional statement. I
> removed it and everything was ducky. Clearly something went horribly
> amiss here. Shouldn't the syntax checker have found this? Is this
> something I should report or simply chalk it up to my carelessness and
> move on?
>
> Aaron
>
Re: Debugging Tcl [message #32599 is a reply to message #32496] Sat, 04 October 2008 16:36 Go to previous message
Aaron S. Kurland is currently offline Aaron S. Kurland
Messages: 6
Registered: July 2009
Junior Member
Thanks, Alex! You've been most helpful.
Previous Topic:internal checker
Next Topic:Syntax Highlighting in Wizard previewer
Goto Forum:
  


Current Time: Wed Apr 16 16:15:08 EDT 2014

Powered by FUDForum. Page generated in 0.17841 seconds