2013-07-27 97 views
0

我有返回命令調用使用Tcl腳本行我RTL編譯器(Cadence的工具)錯誤的TCL腳本

puts [exec rc -f script.g ] 

我收到錯誤,如終止子進程。而如果直接寫在我的控制檯上來調用工具$ -rc -f script.g,它會得到完美的執行。

+0

什麼是退出碼?這個過程是否寫入標準輸出? –

+1

什麼_exactly_是錯誤信息? – nurdglaw

+0

編譯器工具無法調用並返回錯誤:子進程中止 –

回答

0

exec返回一個錯誤狀態,如果:

  • 與非零狀態exec'ed命令返回
  • 或打印到stderr

做這個

if {[catch {exec rc -f script.g} output] == 0} { 
    # normal exit status 
    puts $output 
} elseif {$errorCode eq NONE} { 
    # normal exit status, but some output to stderr (contained in $output) 
    puts $output 
} else { 
    # some error condition. 
    # see http://wiki.tcl.tk/1039 for ways to handle 
    puts "some error occurred: $errorCode" 
} 
+0

更好的修復方法可能是重定向標準錯誤。很難說不知道實際的故障模式。 –