Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

32.2. Debugging - System.Diagnostics.Debug Klasse

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 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 2012 Broncode - Codevoorbeeld 794
#Const DEBUG = True
Option Strict On
Class 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 Sub
End Class
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

32.2.1. DEBUG Compiler Directive

In 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).

32.2.2. Debug.Assert

De 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 2012 Broncode - Codevoorbeeld 795
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 Sub
End Class
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 maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.