|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
Visual Studio : Indien de DEBUG compiler directive geactiveerd is, zullen de boodschappen die via de System.Diagnostics.Debug klasse geschreven worden, by default in het Output toolvenster verschijnen. Een viertal methods zijn aanwezig om, al dan niet op basis van een conditie, een tekstuele boodschap ( message ) of een Object ( value ) naar de debugger te schrijven. Visual Basic 2010 Broncode # Const DEBUG = TrueOption Strict OnClass Example1 Public Shared Sub Main() Dim condition As Boolean = True Dim message As String = "Message 1" Dim value As Object = message Dim category As String = "Category 1" Debug.Write(message) Debug.Write(value) Debug.Write(message, category) Debug.Write(value, category) Debug.WriteLine(message) Debug.WriteLine(value) Debug.WriteLine(message, category) Debug.WriteLine(value, category) Debug.WriteIf(condition, message) Debug.WriteIf(condition, value) Debug.WriteIf(condition, message, category) Debug.WriteIf(condition, value, category) Debug.WriteLineIf(condition, message) Debug.WriteLineIf(condition, value) Debug.WriteLineIf(condition, message, category) Debug.WriteLineIf(condition, value, category) End SubEnd ClassDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Visual Studio : In het Output toolvenster verschijnen volgende boodschappen : Message 1Message 1Category 1: Message 1Category 1: Message 1Message 1 Message 1 Category 1: Message 1 Category 1: Message 1 Message 1Message 1Category 1: Message 1Category 1: Message 1Message 1 Message 1 Category 1: Message 1 Category 1: Message 1 31.2.1. DEBUG Compiler DirectiveIn bovenstaand voorbeeld wordt het schrijven van boodschappen naar de debugger wel degelijk opgenomen in de uitvoer omdat de optie DEBUG op True is ingesteld.
Deze indicatie voor de compiler ( compiler directive ) kan via het #Const DEBUG = True of #Const DEBUG = False worden ingesteld.
Deze instelling die hier documentniveau gebeurt is dus ook van toepassing voor de code uit dit document. Visual Studio : Ook op projectniveau kan dit worden ingesteld. Hiervoor ga je naar de projecteigenschappen, en druk je op het tabblad Compile op de knop Advanced Compile Options ... . In het verkregen Advanced Compiler Setting dialog heb je de optie Define DEBUG constant die aan of uit kan vinken.
Ook de command line compiler heeft hiervoor een schakeloptie : vbc ... /d:DEBUG=FALSE example.vb of vbc ... /d:DEBUG=TRUE example.vb. Zolang je in ontwikkelfase bezig bent is debug informatie nuttig, wanneer je uiteindelijk een release build maakt, die niet in de testomgeving ( bijvoorbeeld de Visual Studio IDE ) zal worden uitgevoerd, heeft het natuurlijk geen nut deze optie te laten aanstaan. Visual Studio : Indien je in op het Compile tabblad de Configuration optie op Release zet, merk je dan ook in het Advanced Compiler Settings dialog dat de DEBUG optie by default op False wordt ingesteld. De debugging code moet dan immers niet worden opgenomen in de uiteindelijke binary ( de .exe of .dll bijvoorbeeld ). boven
31.2.2. Debug.AssertDe Shared method Assert zal indien niet voldaan is aan een bepaalde veronderstelling by default een Assertion Failed dialog weergeven waarin de boodschap en eventuele details worden weergegeven. Visual Basic 2010 Broncode Class Example2 Public Shared Sub Main() Dim condition As Boolean = False Dim message As String = "Message 1" Dim detailMessage As String = "Detail Message 1" Debug.Assert(condition) Debug.Assert(condition, message) Debug.Assert(condition, message, detailMessage) End SubEnd ClassDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Merk op dat het Assertion Failed dialog ook de call stack bevat, wat vaak nuttig is bij het ontleden waarom deze veronderstelling niet juist was.
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|