Re: Debugging Tcl 8.6 in Komodo 5.2

"Perez, Aaron P." <[email protected]> Tue, 1 Dec 2009 12:52:46 -0600
Newsgroups gmane.comp.ide.komodo.general
Message-ID <[email protected]>
I ran two tests one in a command prompt (tclsh86 only) and another in Komodo using this new debugger.



Command Prompt Output:

Microsoft Windows XP [Version 5.1.2600]

(C) Copyright 1985-2001 Microsoft Corp.



C:\>tclsh86

% set ::errorInfo

% set ::errorCode

TCL LOOKUP VARNAME

%

% package require TclOO

0.6.1

% set ::errorInfo

% set ::errorCode

TCL LOOKUP VARNAME

%

% package require Expect

5.43

% set ::errorInfo

version conflict for package "Tcl": have 8.6b1.1, need 8.5.0-8.6

    while executing

"package present Tcl 8.5.0-8.6"

% set ::errorCode

NONE

%



Debugger Output:

Tcl 8.6b1.1 interactive shell

To use Tk, type 'package require Tk'



set ::errorInfo

can't rename "spawn": command doesn't exist

    while executing

"rename $cmd $nocmd"

set ::errorCode

NONE



package require TclOO

0.6.1

set ::errorInfo

can't rename "spawn": command doesn't exist

    while executing

"rename $cmd $nocmd"

set ::errorCode

NONE



package require Expect

5.43

set ::errorInfo

can't rename "thread::create": command doesn't exist

    while executing

"DbgNub_renameCmd $cmd $nocmd"

set ::errorCode

NONE



Are these normal and/or expected?



--Aaron



-----Original Message-----
From: Andreas Kupries [mailto:[email protected]]
Sent: Tuesday, December 01, 2009 8:57 AM
To: Perez, Aaron P.
Cc: Jeff Hobbs; [email protected]
Subject: Re: [Komodo-discuss] Debugging Tcl 8.6 in Komodo 5.2



Andreas Kupries wrote:

> Thanks. That I should be able to work with ...



Well, I believe I found the problem, and also that I fixed it. Towards testing

that this is true, you can find an updated dbg_tcldebug.exe at



        ftp://ftp.tcl.tk/pub/incoming/dbgp_tcldebug.exe

Size    2238923

MD5     cc8b00bb11918beb5bce05c5779caa78



In your Komodo installation this should be found under



        <komodo-install-dir>/lib/support/tcl/



Please save the existing executable before using the new one.



Background on the problem:

        When I worked on determining where init.tcl was going wrong with the

        ::errorCode data you gave me yesterday I had a long look at the

        original stack trace and noticed something which was hidden in the

        ::errorInfo data ...



        There was a [try] command in the stacktrace, and while the

        instrumentation parts seen for it looked ok the original error itself

        indicated trouble in that area ...



        So I looked through the debugger and found that apparently the TclBlend

        extension provides a [java::try] command, and our support for it

        (blend.pdx) also recognizes it as [try]. As this command has a

        different syntax than the new [try] of Tcl 8.6 the instrumenter makes a

        hash out of the latter, rendering it non-functional. This triggered the

        error in tclPkgUnknown, which then triggered the canary in init.tcl



        I disabled the recognition of [try] for [java::try] now and also wrote

        a proper rule for Tcl 8.6's [try], so there should be no error anymore.



--

Sincerely,

     Andreas Kupries <[email protected]>

     Developer @    <http://www.activestate.com/>

CONFIDENTIALITY STATEMENT. This email and any attachment is for the sole use of the intended recipient and may contain private, confidential and/or privileged information that may be subject to Hospira internal policies. If you are not the intended recipient, any dissemination, distribution or copying is strictly prohibited. If you have received this transmission in error, please notify Hospira immediately by return email or by email to [email protected] and delete the message and all copies and attachments from your system.

_______________________________________________
Komodo-discuss mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Other options: http://listserv.ActiveState.com/mailman/listinfo/Komodo-discuss