[Komodo IDE] The debug is hung up when debug tcl script

When I debug my script, the debug is hung up.

Part of log:

DbgNub_Do 0 {193 99 {3130 118}} {if {$outFile == ""} {
# DBGNUB START: {193 99 {3130 118}}
DbgNub_Do 0 {193 100 {3164 17}} {set outFH stdout}
# DBGNUB END
} else {
# DBGNUB START: {193 99 {3130 118}}
DbgNub_Do 0 {193 102 {3210 28}} {set outFH [DbgNub_Do 1 {193 102 {3221 15}} {open $outFile w}]}
# DBGNUB END
}}
DbgNub_Do 0 {193 107 {3285 38}} {set stackTitle "Procedure Call Stack"}
DbgNub_Do 0 {193 108 {3331 73}} {set maxNameLen [DbgNub_Do 1 {193 108 {3347 55}} {max [DbgNub_Do 1 {193 108 {3352 18}} {expr $maxNameLen+6}] [DbgNub_Do 1 {193 108 {3373 28}} {expr [DbgNub_Do 1 {193 108 {3379 19}} {clength $stackTitle}]+4}]}]}
DbgNub_Do 0 {193 109 {3412 120}} {set hdr [DbgNub_Do 1 {193 109 {3421 109}} format\ \"%-\$\{maxNameLen\}s\ %10s\ %10s\ %10s\"\ \$stackTitle\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \"Calls\"\ \"Real\ Time\"\ \"CPU\ Time\"]}
DbgNub_Do 0 {193 111 {3540 122}} {if {$userTitle != ""} {
# DBGNUB START: {193 111 {3540 122}}
DbgNub_Do 0 {193 112 {3576 41}} {puts $outFH [DbgNub_Do 1 {193 112 {3589 26}} {replicate - [DbgNub_Do 1 {193 112 {3602 12}} {clength $hdr}]}]}
DbgNub_Do 0 {193 113 {3629 23}} {puts $outFH $userTitle}
# DBGNUB END
}}
DbgNub_Do 0 {193 115 {3670 41}} {puts $outFH [DbgNub_Do 1 {193 115 {3683 26}} {replicate - [DbgNub_Do 1 {193 115 {3696 12}} {clength $hdr}]}]}
DbgNub_Do 0 {193 116 {3719 17}} {puts $outFH $hdr}
DbgNub_Do 0 {193 117 {3744 41}} {puts $outFH [DbgNub_Do 1 {193 117 {3757 26}} {replicate - [DbgNub_Do 1 {193 117 {3770 12}} {clength $hdr}]}]}
DbgNub_Do 0 {193 121 {3856 559}} {foreach procStack $sortedProcList {
# DBGNUB START: {193 121 {3856 559}}
DbgNub_Do 0 {193 122 {3904 31}} {set data $profData($procStack)}
DbgNub_Do 0 {193 123 {3947 28}} {set cmd [DbgNub_Do 1 {193 123 {3956 17}} {lvarpop procStack}]}
DbgNub_Do 0 {193 124 {3987 25}} {regsub {^::} $cmd {} cmd}
DbgNub_Do 0 {193 125 {4024 179}} {puts $outFH [DbgNub_Do 1 {193 125 {4037 164}} format\ \"%-\$\{maxNameLen\}s\ %10d\ %10d\ %10d\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \$cmd\ \[DbgNub_Do\ 1\ \{193\ 126\ \{4118\ 14\}\}\ \{lindex\ \$data\ 0\}\]\ \[DbgNub_Do\ 1\ \{193\ 126\ \{4135\ 14\}\}\ \{lindex\ \$data\ 1\}\]\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \[DbgNub_Do\ 1\ \{193\ 127\ \{4186\ 14\}\}\ \{lindex\ \$data\ 2\}\]]}
DbgNub_Do 0 {193 128 {4215 190}} {foreach procName $procStack {
# DBGNUB START: {193 128 {4215 190}}
DbgNub_Do 0 {193 129 {4261 35}} {if {$procName == "<global>"} {
# DBGNUB START: {193 129 {4261 35}}
DbgNub_Do 0 {193 129 {4290 5}} break
# DBGNUB END
}}
DbgNub_Do 0 {193 130 {4312 35}} {regsub {^::} $procName {} procName}
DbgNub_Do 0 {193 131 {4363 28}} {puts $outFH "    $procName"}
# DBGNUB END
}}
# DBGNUB END
}}
DbgNub_Do 0 {193 134 {4423 57}} {if {$outFile != ""} {
# DBGNUB START: {193 134 {4423 57}}
DbgNub_Do 0 {193 135 {4457 13}} {close $outFH}
# DBGNUB END
}}
# DBGNUB END
}}
# DBGNUB END
}}
DbgNub_Do 0 {193 149 {4947 277}} {proc profrep {profDataVar sortKey {outFile {}} {userTitle {}}} {
# DBGNUB START: {193 149 {4947 277}}
DbgNub_Do 0 {193 150 {5016 28}} {upvar $profDataVar profData}
DbgNub_Do 0 {193 152 {5049 38}} {TclXProfRep::sum profData sumProfData}
DbgNub_Do 0 {193 153 {5091 60}} {set sortedProcList [DbgNub_Do 1 {193 153 {5111 38}} {TclXProfRep::sort sumProfData $sortKey}]}
DbgNub_Do 0 {193 154 {5155 67}} {TclXProfRep::print sumProfData $sortedProcList $outFile $userTitle}
# DBGNUB END
}}}}'
LOG(timing,96269973): HandleNubEvent ENTER
LOG(message,96270102): reading 3026 bytes
LOG(message,96270138): got (3026): 'INSTRUMENT C:/Tcl/lib/tclx8.4/autoload.tcl #\n#\ Modified\ version\ of\ the\ standard\ Tcl\ auto_load_index\ proc\ that\ calls\ a\ TclX\n#\ command\ load\ TclX\ .tndx\ library\ indices.\ \n#\n#\ \$Id:\ autoload.tcl,v\ 1.2\ 2002/04/02\ 03:00:14\ hobbs\ Exp\ \$\n#\ from\ Tcl:\ init.tcl,v\ 1.1.2.4\ 1998/12/02\ 20:08:05\ welch\ Exp\n#\n\n#\ init.tcl\ --\n#\n#\ Default\ system\ startup\ file\ for\ Tcl-based\ applications.\ \ Defines\n#\ \"unknown\"\ procedure\ and\ auto-load\ facilities.\n#\n#\ Copyright\ (c)\ 1991-1993\ The\ Regents\ of\ the\ University\ of\ California.\n#\ Copyright\ (c)\ 1994-1996\ Sun\ Microsystems,\ Inc.\n#\n#\ See\ the\ file\ \"license.terms\"\ for\ information\ on\ usage\ and\ redistribution\n#\ of\ this\ file,\ and\ for\ a\ DISCLAIMER\ OF\ ALL\ WARRANTIES.\n#\n\n#\ auto_load_index\ --\n#\ Loads\ the\ contents\ of\ tclIndex\ files\ on\ the\ auto_path\ directory\n#\ list.\ \ This\ is\ usually\ invoked\ within\ auto_load\ to\ load\ the\ index\n#\ of\ available\ commands.\ \ Returns\ 1\ if\ the\ index\ is\ loaded,\ and\ 0\ if\n#\ the\ index\ is\ already\ loaded\ and\ up\ to\ date.\n#\n#\ Arguments:\ \n#\ None.\n\nproc\ auto_load_index\ \{\}\ \{\n\ \ \ \ global\ auto_index\ auto_oldpath\ auto_path\ errorInfo\ errorCode\n\n\ \ \ \ if\ \{\[info\ exists\ auto_oldpath\]\ &&\ (\$auto_oldpath\ ==\ \$auto_path)\}\ \{\n\treturn\ 0\n\ \ \ \ \}\n\ \ \ \ set\ auto_oldpath\ \$auto_path\n\n\ \ \ \ #\ Check\ if\ we\ are\ a\ safe\ interpreter.\ In\ that\ case,\ we\ support\ only\n\ \ \ \ #\ newer\ format\ tclIndex\ files.\n\n\ \ \ \ set\ issafe\ \[interp\ issafe\]\n\ \ \ \ for\ \{set\ i\ \[expr\ \{\[llength\ \$auto_path\]\ -\ 1\}\]\}\ \{\$i\ >=\ 0\}\ \{incr\ i\ -1\}\ \{\n\tset\ dir\ \[lindex\ \$auto_path\ \$i\]\n\ \ \ \ \ \ \ \ tclx_load_tndxs\ \$dir\n\tset\ f\ \"\"\n\tif\ \{\$issafe\}\ \{\n\t\ \ \ \ catch\ \{source\ \[file\ join\ \$dir\ tclIndex\]\}\n\t\}\ elseif\ \{\[catch\ \{set\ f\ \[open\ \[file\ join\ \$dir\ tclIndex\]\]\}\]\}\ \{\n\t\ \ \ \ continue\n\t\}\ else\ \{\n\t\ \ \ \ set\ error\ \[catch\ \{\n\t\tset\ id\ \[gets\ \$f\]\n\t\tif\ \{\$id\ ==\ \"#\ Tcl\ autoload\ index\ file,\ version\ 2.0\"\}\ \{\n\t\t\ \ \ \ eval\ \[read\ \$f\]\n\t\t\}\ elseif\ \{\$id\ ==\ \\\n\t\t\ \ \ \ \"#\ Tcl\ autoload\ index\ file:\ each\ line\ identifies\ a\ Tcl\"\}\ \{\n\t\t\ \ \ \ while\ \{\[gets\ \$f\ line\]\ >=\ 0\}\ \{\n\t\t\tif\ \{(\[string\ index\ \$line\ 0\]\ ==\ \"#\")\n\t\t\t\t||\ (\[llength\ \$line\]\ !=\ 2)\}\ \{\n\t\t\t\ \ \ \ continue\n\t\t\t\}\n\t\t\tset\ name\ \[lindex\ \$line\ 0\]\n\t\t\tset\ auto_index(\$name)\ \\\n\t\t\t\ \ \ \ \"source\ \[file\ join\ \$dir\ \[lindex\ \$line\ 1\]\]\"\n\t\t\ \ \ \ \}\n\t\t\}\ else\ \{\n\t\t\ \ \ \ error\ \\\n\t\t\ \ \ \ \ \ \"\[file\ join\ \$dir\ tclIndex\]\ isn't\ a\ proper\ Tcl\ index\ file\"\n\t\t\}\n\t\ \ \ \ \}\ msg\]\n\t\ \ \ \ if\ \{\[string\ compare\ \$f\ \"\"\]\}\ \{\n\t\tclose\ \$f\n\t\ \ \ \ \}\n\t\ \ \ \ if\ \{\$error\}\ \{\n\t\terror\ \$msg\ \$errorInfo\ \$errorCode\n\t\ \ \ \ \}\n\t\}\n\ \ \ \ \}\n\ \ \ \ return\ 1\n\}\n'
LOG(instrument,96270212): ::engine::Snit_inst1::dbg Instrument (C:/Tcl/lib/tclx8.4/autoload.tcl) ...
LOG(timing,96270670): DeliverEvent instrument (start 194)
debug     instrument start block 194 (C:/Tcl/lib/tclx8.4/autoload.tcl)
LOG(instrument,96270728): 	run instrumenter (2272 chars)
LOG(instrument,96272938): 	validate BP's
LOG(instrument,96272985): 	create BP's
LOG(instrument,96273016): 	BP transient to regular
LOG(timing,96273047): DeliverEvent instrument (end 194)
debug     instrument end block 194 (C:/Tcl/lib/tclx8.4/autoload.tcl)
LOG(message,96273433): sent: len=4283 'SEND 0 {DbgNub_InstrumentReply {DbgNub_Do 0 {194 30 {932 1340}} {proc auto_load_index {} {
# DBGNUB START: {194 30 {932 1340}}
DbgNub_Do 0 {194 31 {962 61}} {global auto_index auto_oldpath auto_path errorInfo errorCode}
DbgNub_Do 0 {194 33 {1028 83}} {if {[DbgNub_Do 1 {194 33 {1033 24}} {info exists auto_oldpath}] && ($auto_oldpath == $auto_path)} {
# DBGNUB START: {194 33 {1028 83}}
DbgNub_Do 0 {194 34 {1096 9}} {return 0}
# DBGNUB END
}}
DbgNub_Do 0 {194 36 {1115 28}} {set auto_oldpath $auto_path}
DbgNub_Do 0 {194 41 {1256 27}} {set issafe [DbgNub_Do 1 {194 41 {1268 13}} {interp issafe}]}
DbgNub_Do 0 {194 42 {1287 970}} {for {
# DBGNUB START: {194 42 {1287 970}}
DbgNub_Do 0 {194 42 {1292 39}} {set i [DbgNub_Do 1 {194 42 {1299 31}} {expr {[DbgNub_Do 1 {194 42 {1306 18}} {llength $auto_path}] - 1}}]}
# DBGNUB END
} {$i >= 0} {
# DBGNUB START: {194 42 {1287 970}}
DbgNub_Do 0 {194 42 {1344 9}} {incr i -1}
# DBGNUB END
} {
# DBGNUB START: {194 42 {1287 970}}
DbgNub_Do 0 {194 43 {1358 31}} {set dir [DbgNub_Do 1 {194 43 {1367 20}} {lindex $auto_path $i}]}
DbgNub_Do 0 {194 44 {1397 21}} {tclx_load_tndxs $dir}
DbgNub_Do 0 {194 45 {1419 9}} {set f ""}
DbgNub_Do 0 {194 46 {1429 822}} {if {$issafe} {
# DBGNUB START: {194 46 {1429 822}}
DbgNub_Do 0 {194 47 {1449 41}} {catch {
# DBGNUB START: {194 47 {1449 41}}
DbgNub_Do 0 {194 47 {1456 32}} {source [DbgNub_Do 1 {194 47 {1464 23}} {file join $dir tclIndex}]}
# DBGNUB END
}}
# DBGNUB END
} elseif {[DbgNub_Do 1 {194 48 {1502 46}} {catch {
# DBGNUB START: {194 48 {1502 46}}
DbgNub_Do 0 {194 48 {1509 38}} {set f [DbgNub_Do 1 {194 48 {1516 30}} {open [DbgNub_Do 1 {194 48 {1522 23}} {file join $dir tclIndex}]}]}
# DBGNUB END
}}]} {
# DBGNUB START: {194 46 {1429 822}}
DbgNub_Do 0 {194 49 {1558 9}} continue
# DBGNUB END
} else {
# DBGNUB START: {194 46 {1429 822}}
DbgNub_Do 0 {194 51 {1582 552}} {set error [DbgNub_Do 1 {194 51 {1593 539}} {catch {
# DBGNUB START: {194 51 {1593 539}}
DbgNub_Do 0 {194 52 {1603 17}} {set id [DbgNub_Do 1 {194 52 {1611 7}} {gets $f}]}
DbgNub_Do 0 {194 53 {1622 500}} if\ \{\$id\ ==\ \"#\ Tcl\ autoload\ index\ file,\ version\ 2.0\"\}\ \{\n#\ DBGNUB\ START:\ \{194\ 53\ \{1622\ 500\}\}\nDbgNub_Do\ 0\ \{194\ 54\ \{1683\ 15\}\}\ \{eval\ \[DbgNub_Do\ 1\ \{194\ 54\ \{1689\ 7\}\}\ \{read\ \$f\}\]\}\n#\ DBGNUB\ END\n\}\ elseif\ \{\$id\ ==\ \\\n\t\t\ \ \ \ \"#\ Tcl\ autoload\ index\ file:\ each\ line\ identifies\ a\ Tcl\"\}\ \{\n#\ DBGNUB\ START:\ \{194\ 53\ \{1622\ 500\}\}\nDbgNub_Do\ 0\ \{194\ 57\ \{1790\ 237\}\}\ \{while\ \{\[DbgNub_Do\ 1\ \{194\ 57\ \{1798\ 12\}\}\ \{gets\ \$f\ line\}\]\ >=\ 0\}\ \{\n#\ DBGNUB\ START:\ \{194\ 57\ \{1790\ 237\}\}\nDbgNub_Do\ 0\ \{194\ 58\ \{1823\ 90\}\}\ \{if\ \{(\[DbgNub_Do\ 1\ \{194\ 58\ \{1829\ 20\}\}\ \{string\ index\ \$line\ 0\}\]\ ==\ \"#\")\n\t\t\t\t||\ (\[DbgNub_Do\ 1\ \{194\ 59\ \{1868\ 13\}\}\ \{llength\ \$line\}\]\ !=\ 2)\}\ \{\n#\ DBGNUB\ START:\ \{194\ 58\ \{1823\ 90\}\}\nDbgNub_Do\ 0\ \{194\ 60\ \{1899\ 9\}\}\ continue\n#\ DBGNUB\ END\n\}\}\nDbgNub_Do\ 0\ \{194\ 62\ \{1916\ 26\}\}\ \{set\ name\ \[DbgNub_Do\ 1\ \{194\ 62\ \{1926\ 14\}\}\ \{lindex\ \$line\ 0\}\]\}\nDbgNub_Do\ 0\ \{194\ 63\ \{1945\ 74\}\}\ set\\\ auto_index(\\\$name)\\\ \\\\\\n\\t\\t\\t\\\ \\\ \\\ \\\ \\\"source\\\ \\\[DbgNub_Do\\\ 1\\\ \\\{194\\\ 64\\\ \\\{1985\\\ 31\\\}\\\}\\\ \\\{file\\\ join\\\ \\\$dir\\\ \\\[DbgNub_Do\\\ 1\\\ \\\{194\\\ 64\\\ \\\{2001\\\ 14\\\}\\\}\\\ \\\{lindex\\\ \\\$line\\\ 1\\\}\\\]\\\}\\\]\\\"\n#\ DBGNUB\ END\n\}\}\n#\ DBGNUB\ END\n\}\ else\ \{\n#\ DBGNUB\ START:\ \{194\ 53\ \{1622\ 500\}\}\nDbgNub_Do\ 0\ \{194\ 67\ \{2044\ 74\}\}\ error\\\ \\\\\\n\\t\\t\\\ \\\ \\\ \\\ \\\ \\\ \\\"\\\[DbgNub_Do\\\ 1\\\ \\\{194\\\ 68\\\ \\\{2062\\\ 23\\\}\\\}\\\ \\\{file\\\ join\\\ \\\$dir\\\ tclIndex\\\}\\\]\\\ isn't\\\ a\\\ proper\\\ Tcl\\\ index\\\ file\\\"\n#\ DBGNUB\ END\n\}
# DBGNUB END
} msg}]}
DbgNub_Do 0 {194 71 {2139 48}} {if {[DbgNub_Do 1 {194 71 {2144 20}} {string compare $f ""}]} {
# DBGNUB START: {194 71 {2139 48}}
DbgNub_Do 0 {194 72 {2171 9}} {close $f}
# DBGNUB END
}}
DbgNub_Do 0 {194 74 {2192 56}} {if {$error} {
# DBGNUB START: {194 74 {2192 56}}
DbgNub_Do 0 {194 75 {2208 33}} {error $msg $errorInfo $errorCode}
# DBGNUB END
}}
# DBGNUB END
}}
# DBGNUB END
}}
DbgNub_Do 0 {194 79 {2261 9}} {return 1}
# DBGNUB END
}}}}'
LOG(timing,96300760): HandleNubEvent ENTER
LOG(message,96300918): reading 95 bytes
LOG(message,96300978): got (95): 'STDERR {Warning (issued by the debugger backend).
Renaming  "::error" may crash the debugger.
}'
debug     STDERR: Warning (issued by the debugger backend).
debug     Renaming  "::error" may crash the debugger.
debug     
debug     ::dbgp::client::Snit_inst1::comm writePacket 190
debug     | <stream xmlns="urn:debugger_protocol" type="STDERR"><![CDATA[V2FybmluZyAoaXNzdWVkIGJ5IHRoZSBkZWJ1Z2dlciBiYWNrZW5kKS4KUmVuYW1pbmcgICI6OmVy
debug     |cm9yIiBtYXkgY3Jhc2ggdGhlIGRlYnVnZ2VyLgo=]]></stream>
debug     ::dbgp::client::Snit_inst1::comm Transmit (1/1 [230] : sock1016)
LOG(timing,96301454): HandleNubEvent ENTER
LOG(message,96301512): reading 113 bytes
LOG(message,96301571): got (113): 'STDERR {Warning (issued by the debugger backend).
Overwriting  "error" with a procedure may crash the debugger.
}'
debug     STDERR: Warning (issued by the debugger backend).
debug     Overwriting  "error" with a procedure may crash the debugger.
debug     
debug     ::dbgp::client::Snit_inst1::comm writePacket 214
debug     | <stream xmlns="urn:debugger_protocol" type="STDERR"><![CDATA[V2FybmluZyAoaXNzdWVkIGJ5IHRoZSBkZWJ1Z2dlciBiYWNrZW5kKS4KT3ZlcndyaXRpbmcgICJl
debug     |cnJvciIgd2l0aCBhIHByb2NlZHVyZSBtYXkgY3Jhc2ggdGhlIGRlYnVnZ2VyLgo=]]></stream>
debug     ::dbgp::client::Snit_inst1::comm Transmit (1/1 [254] : sock1016)

Hi shiliqiang167,

Please post this to the dedicated Komodo forum: https://community.komodoide.com/

Thanks,

-JR