调试器跳过,创建对象的代码行,并返回到vb.net Windows应用程序中的调用函数

时间:2015-12-21 12:25:15

标签: vb.net email smtp

我正在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

请帮助

1 个答案:

答案 0 :(得分:0)

如果调试器回到功能的开头而没有你期待它...它表明它被多次调用。

我在多线程环境中看到过这种行为 - 断点将在每次创建新线程时触发并调用该子线。

要检查,请转到调试菜单 - &gt; Windows - &gt;线程。第一次触发断点时,请记下threadid。然后在下次检查它。如果每次使用不同的线程,那么您就可以在多线程环境中工作,并且可能需要考虑使用信号量来限制并行调用子例程的时间。

不确定为什么颜色会从绿色变为黄色!