AutoHotkey腳本的4種除錯方法(AHK #5)
吃燒餅沒有不掉芝麻的,想寫好程式,讓程式依你所想運行,就必須善用除錯工具。
除錯方法1: 用MsgBox
最簡單的AutoHotkey除錯,當然就是用MsgBox把變數顯示在對話窗裡來確認正確性了。
例如:
;// 把目前視窗設為置頂
!t:: WinSet, AlwaysOnTop, , A
#c::
WinGetClass, sClass, A ;//取出目前視窗的類別
WinGetTitle, sTitle, A ;//取出目前視窗的標題
sNow = %A_NOW% ;//取出目前日期時間
MsgBox 類別=%sClass%, 標題=%sTitle%, 目前時間=%sNow%
if (sClass = "CabinetWClass") {
MsgBox 檔案總管裡按 Win+C
} if (sClass = "Chrome_WidgetWin_1") {
MsgBox 網頁標題是: %sTitle%
} else {
MsgBox 目前時間是: %sNow%
}
return
除錯方法2: 用ListVars與Pause
ListVars讓AutoHotkey視窗顯示全局變數供我們檢視。
#c::
WinGetClass, sClass, A ;//取出目前視窗的類別
WinGetTitle, sTitle, A ;//取出目前視窗的標題
sNow = %A_NOW% ;//取出目前日期時間
;MsgBox 類別=%sClass%, 標題=%sTitle%, 目前時間=%sNow%
ListVars
Pause
if (sClass = "CabinetWClass") {
MsgBox 檔案總管裡按 Win+C
} if (sClass = "Chrome_WidgetWin_1") {
MsgBox 網頁標題是: %sTitle%
} else {
MsgBox 目前時間是: %sNow%
}
return
除錯方法3: 用OutputDebug
使用OutputDebug把除錯訊息導向到系統除錯檢視器。系統除錯檢視器可以到DebugView - Windows Sysinternals | Microsoft Docs下載,解開後直接執行 dbgview.exe。下列範例中的OutputDebug會將訊息顯示在DebugView視窗裡。
#c::
WinGetClass, sClass, A
WinGetTitle, sTitle, A
sNow = %A_NOW%
OutputDebug, 除錯輸出。類別=%sClass%, 標題=%sTitle%, 目前時間=%sNow%
if (sClass = "CabinetWClass") {
MsgBox 檔案總管裡按 Win+C
} if (sClass = "Chrome_WidgetWin_1") {
MsgBox 網頁標題是: %sTitle%
} else {
MsgBox 目前時間是: %sNow%
}
return
除錯方法4: 交互式除錯步驟
AutoHotkey已經提供了DBGp協定,依下列步驟執行就能建立交互式的除錯,可以逐步測試程式的正確性:
- 執行 AutoGUI.ahk
- 載入要測試的腳本(如test2.ahk)後按〔Execute〕
- 由AutoGUI功能表 【Debug】→【Start Debugging】
- 點擊行號右側以設定中斷點
- 按【Debug】→【Continue】
- 以下列指令啟動除錯Server程式:
c:\Program Files\AutoHotkey\AutoHotkey.exe /Debug test2.ahk
接著按下要測試的熱鍵,程式遇到中斷點就會停下來,我們可以用Step Over或Step Into等來逐步測試。
詳細說明與實例操作影片
##
您可能也會有興趣的類似文章
- 幾個AutoHotkey的實用範例:音量控制、滾輪回上層與語音功能(AHK #7) (3則留言, 2019/06/05)
- 輕鬆學會AutoHotkey的熱鍵:熱鍵用法實例解說(AHK #4) (2則留言, 2019/05/24)
- 由零開始寫一次關閉多個同名程式的 AutoHotkey腳本(AHK #10) (0則留言, 2019/07/14)
- 用AutoHotkey批次快速轉檔:使用GUI圖形介面 (0則留言, 2019/10/20)
- AutoHotkey與Google+ Commander合用-以滑鼠移動訊息位置 (0則留言, 2011/10/31)
- 用AutoGUI來學習AutoHotkey!超級簡單!(AHK #1) (0則留言, 2019/05/14)
- AutoHotkey 熱字串的常用選項與指引功能(AHK #2) (9則留言, 2019/05/17)
- 快速建立個人常用詞庫-AutoHotkey 熱字串小工具:HotString Helper(AHK #3) (0則留言, 2019/05/18)
- 用AutoHotkey統一不同工具的偵錯功能鍵 (0則留言, 2008/03/19)
- [Mattermost 教學#5] 方便的斜線命令與AutoHotkey (2則留言, 2018/04/17)
- [AutoHotkey] 在檔案總管裡按滑鼠滾輪切換到上層資料夾 (3則留言, 2011/06/23)
- AHK59|使用VS Code開發AutoHotkey-編輯、執行與除錯 (0則留言, 2024/02/11)
- 設定視窗位置與大小的小工具 WinMove-ahk [AHK#44] (0則留言, 2021/03/07)
- Windows虛擬桌面操作攻略;搭配強化工具更方便! [AHK#43] (0則留言, 2021/02/28)
- [AHK-56] 瀏覽器鏈接快速另存圖片 (0則留言, 2022/09/18)
Sorry, 很久沒用Google sc…