puts "======= Environment (Start) =======" foreach item [lsort [array names env]] { if [catch {puts " env($item)=$env($item)"} szErrMsg] { puts "******* >> msg : $szErrMsg" puts "******* >> errorInfo: [uplevel #0 set errorInfo]" puts "******* >> errorCode: [uplevel #0 set errorCode]" } } foreach info [list {info locals} \ {info globals} {uplevel #0 info globals} \ {info vars}] { puts "=== Command: $info" foreach item [lsort [eval $info]] { if [catch {puts " $item=>[eval set $item]<"} szErrMsg] { if [regexp "variable is array" $szErrMsg] { foreach elem [lsort [array names $item]] { puts " ${item}($elem)=>[set ${item}($elem)]<" } } else { puts "******* >> msg : $szErrMsg" puts "******* >> errorInfo: [uplevel #0 set errorInfo]" puts "******* >> errorCode: [uplevel #0 set errorCode]" } } } } foreach info [list {namespace all} \ {namespace children} {namespace parent} \ classes commands context level library locals \ objects patchlevel procs script tclversion] { puts "=== info $info" foreach item [lsort [eval info $info]] { puts " $item" } } puts "argv: [set argv]" puts "szTestName: [set szTestName]" catch {puts "lTestName : $lTestName"} $szTestName pass puts [$szTestName <<] #runtest ::E0 env.iexp puts "======= Environment (End) ======="