我正在VB.net Windows应用程序中开发自动电子邮件发送程序。奇怪的是,当调试器到达时 Dim SMTP作为新的SmtpClient(_SMTP)这一行再次进入调用函数,调试条颜色从黄色变为绿色,例如:
Private Sub Send_Mail_To_Checker() <-- Debugger Jumps Here with Color changes to Green
'----Some code-------
SendMail()
End Sub
Public Sub SendMail()
Dim Mail As New MailMessage
_SMTP="smtp.gmail.com"
Dim SMTP As New SmtpClient(_SMTP) '<-- Debugger Jumps from this
End Sub
请帮助
答案 0 :(得分:0)
如果调试器回到功能的开头而没有你期待它...它表明它被多次调用。
我在多线程环境中看到过这种行为 - 断点将在每次创建新线程时触发并调用该子线。
要检查,请转到调试菜单 - &gt; Windows - &gt;线程。第一次触发断点时,请记下threadid。然后在下次检查它。如果每次使用不同的线程,那么您就可以在多线程环境中工作,并且可能需要考虑使用信号量来限制并行调用子例程的时间。
不确定为什么颜色会从绿色变为黄色!