Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual Basic
Expertise: Beginner
Aug 24, 1998

Find Trouble Spots

Implement a low-tech trace of your application by writing a message whenever your code enters and exits a subroutine. This can help you locate elusive bugs, because you can turn on the trace and run your application until failure. The last entry in your log indicates what subroutine you were executing when the failure occurred. Enter this code in the General Declarations section of a module:

 Public DebugMode as Boolean

Normally, you should set this variable to False. During debugging, however, set it to True (DebugMode = True). Place this sub in the module:

 Public Sub WriteDebugMessage(ByVal Msg as String)
	If DebugMode then
		'write a message, including the system time
		End If
	End Sub

Enter this code as the first statement in every subroutine and function in your project:

 Call WriteDebugMessage("Entering NameOfSubroutine")

Enter this code as the last statement in every subroutine and function:

 Call WriteDebugMessage("Exiting NameOfSubroutine")

VB4 introduced conditional compilation, which offers a simpler way to implement this scheme. By defining a conditional compiler constant rather than a global flag variable, you can optimize your final EXE by toggling the constant to False. Conditional calls to the WriteDebugMessage routine won't be compiled into your shipping build:

 #Const DebugMode = False
' for final code, true to test

#If DebugMode Then
	Call WriteDebugMessage("Important Info")
#End If

Use this code to write other debug information to the log, such as variable values. Don't forget to turn off Debug mode when you're not using it to avoid writing massive amounts of unneeded data to the log.

Shannon Huggins
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date