本帖最后由 xiehuahere 于 2012-7-12 12:42 编辑
回复 1# fdxok
不能设置断点的确不方便,毕竟现在连VBS都可以设置断点调试了(当然,需要Windows Script Debugger的支持)。
我总结的几种au3调试方法:
1. MsgBox 函数给出弹窗。
2. ConsoleWrite 函数打印到控制台。调试信息中可酌情加上行号打印@ScriptLineNumber以及时间戳信息等等。
3. 用_FileWriteLog函数写log文件。
4. 脚本开头添加 Opt("TrayIconDebug", 1),即设置鼠标指向au3托盘图标时通过traytip方式显示当前正在执行的代码行。前提是没有使用 #NoTrayIcon。
5. 脚本开头添加 #AutoIt3Wrapper_Run_Debug_Mode=Y,会在执行时打印所有代码执行信息到控制台(注意:如果有长时间的循环,信息会很多)。
6. 使用自定义的debug函数,在运行时通过DebugView工具查看调试信息(见如下示例),DebugView工具会自己打印时间戳。$var = 11
dbg("The value of the variable at this time is " & $var)
Sleep(3000)
$var = 22
dbg("The value of the variable at this time is " & $var)
Func dbg($msg)
dllCall("kernel32.dll", "none", "OutputDebugString", "str", $msg)
EndFunc
|