我正在尝试调试我编写的长代码,我需要逐行调试。
问题是我在 Mac 上,在这种情况下不知道如何使用 F8。谁能告诉我我该怎么做?我怎么知道哪一行导致执行问题?
要检查哪一行给您错误,您可以使用该ERL
属性。请参阅下面的示例代码。
Sub sample()
Dim i As Long
On Error GoTo Whoa
10 Debug.Print "A"
20 Debug.Print "B"
30 i = "Sid"
40 Debug.Print "A"
50 Exit Sub
Whoa:
MsgBox "Error on Line : " & Erl
End Sub
为此,您必须像我在上面所做的那样对代码行进行编号。运行上面的代码,看看会发生什么。
Sub Main()
Dim lNum As Long
On Error GoTo ErrHandler
lNum = 1 / 0
ErrExit:
Exit Sub
ErrHandler:
Debug.Print Err.Description
Stop
Resume
End Sub
当您到达 Stop 时,然后 Step Into 两次。如果你没有 F8,你应该有一个菜单项来进入一行。Resume 将带您回到导致错误的行。