見出し画像

【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

前の記事

いいなと思ったら応援しよう!