Um SPTimerJobs zu debuggen, muss sich zusätzlich an den OWSTIMER.EXE-Prozess angehängt werden.
Wie man das via Macro und ShortCut im Visual Studio bewerkstelligt, habe ich 
hier bereits einmal beschrieben.
Für den OWSTIMER gilt das gleiche Vorgehen; das Macro, welches den Debugprozess an w3wp.exe anhängt, kann bequem kopiert und leicht abgeändert werden:
    ' This subroutine attaches to owstimer.exe:
    Sub AttachToOWSTIMER()
        Dim attached As Boolean = False
        Dim proc As EnvDTE.Process
        For Each proc In DTE.Debugger.LocalProcesses
            If (Right(proc.Name, 12) = "OWSTIMER.EXE") Then
                proc.Attach()
                attached = True
            End If
        Next
        If attached = False Then
            MsgBox("Couldn't find OWSTIMER.EXE")
        End If
    End Sub
In meinem Falle habe ich dann als ShortCut STRG+SHIFT+4 gewählt (STRG+SHIFT+3 hängt sich an w3wp.exe an), sodass ich dann die relevanten ShortCuts beinander habe.