【TTL】はじめてのTTLマクロ 4 デバッグモードを自前実装
はじめに
デバッグモードを自前で実装し、デバッグモードをオンにすると途中途中でメッセージを表示するようにする。
logget.ttl
if numDebugFlag = 1 messagebox "funcMakeLogFile" "debug"
のように各サブルーチンの冒頭にメッセージボックスを表示して、どこまで処理が進んだか分かるようにする。
また、messageboxでの確認は変数の確認でも使えます。
;------------------------------------------------------------------------------
;パラメータを設定(1回目のみ)
;------------------------------------------------------------------------------
;debugモードで動かすか選択
numDebugFlag = 1 ; 1:debugモード 0:通常モード
if numDebugFlag = 1 messagebox "debugModeOn" "debug"
;------------------------------------------------------------------------------
;メインルーチン
;------------------------------------------------------------------------------
:mainRoutin
;機器にログインしてログ取得
call funcGetConnectText
call funcConnectDevice
call funcLogin
call funcMakeLogFile
call funcExecCommands
sendln "exit"
:labelClose
end ; マクロ終了
;------------------------------------------------------------------------------
;connectするための文字列を作成するサブルーチン
;------------------------------------------------------------------------------
:funcGetConnectText
if numDebugFlag = 1 messagebox "funcGetConnectText" "debug"
strTemp = '192.168.11.111:22 /ssh /2 /nosecuritywarning /auth=password /user=ruser /passwd=rpass'
return
;------------------------------------------------------------------------------
;connectし、接続できたらiniファイルの読み込むサブルーチン
;------------------------------------------------------------------------------
:funcConnectDevice
;リンク状態を必要に応じてリセットしてから接続
testlink
if result <> 0 closett
connect strTemp
return
;------------------------------------------------------------------------------
;機器にログインするサブルーチン
;------------------------------------------------------------------------------
:funcLogin
if numDebugFlag = 1 messagebox "funcLogin" "debug"
wait ">"
flushrecv
sendln "enable"
wait "Password:"
flushrecv
sendln "epass"
return
;----------------------------------------------------------------------------
;ログファイルを作成する
;----------------------------------------------------------------------------
:funcMakeLogFile
if numDebugFlag = 1 messagebox "funcMakeLogFile" "debug"
logopen 'C:\work\logget\teraterm.log' 1 1
return
;----------------------------------------------------------------------------
;コマンドの実行
;----------------------------------------------------------------------------
:funcExecCommands
if numDebugFlag = 1 messagebox "funcExecCommands" "debug"
;ログ取得前の処理
flushrecv
sendln 'terminal length 0'
wait '#'
flushrecv
sendln 'terminal width 0'
wait '#'
flushrecv
sendln 'terminal no monitor'
wait '#'
;ログ取得前の処理
flushrecv
sendln "show ver"
return