科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VB.NET 入门教程4

VB.NET 入门教程4

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

调试器是诊断程序问题的一个必不可少的工具。我们觉得有必要在本入门指南中对其进行介绍。这最后一步将向您展示如何走查程序和使用诸如 QuickWatch 这样的功能

作者:佚名 来源:中国IT实验室 2008年6月8日

关键字: 教程 入门 VB vb.net Windows

  • 评论
  • 分享微博
  • 分享邮件

步骤 8. 使用调试器

  调试器是诊断程序问题的一个必不可少的工具。我们觉得有必要在本入门指南中对其进行介绍。这最后一步将向您展示如何走查程序和使用诸如 QuickWatch 这样的功能。

设置断点

  当程序在调试器中运行时,断点会暂停程序的执行,从而使开发人员能够控制调试器。要设置断点,请右键单击您想要程序暂停的行,然后单击 Insert Breakpoint,如下所示。


 

  注:带有断点的行以红色突出显示。通过再次右键单击该行并选择 RemoveBreakpoint 可以删除断点。

单步调试程序

  既然设置了断点(最好是在前面所示的行中),就让我们在调试器中运行程序。在 Debug 菜单中,选择 Start 而不是同前面一样选择 Start Without Debugging。这样就在调试器中启动了程序,并因而激活了断点。一旦程序遇到断点,调试器便会接收程序的控制。这时会有一个箭头指向当前执行的行。

a

[Caption]

  要单步调试一行代码,可以选择 Debug | Step Over 并观察光标是否移到下一行。Debug | Step Into 命令允许您单步执行将要调用的函数。进行两次 Step Over 之后的屏幕如下所示。


 

  如果想要程序在遇到下一个断点、遇到异常或退出之前继续执行,请从菜单中选择 Debug | Continue。

检查变量值

  当您可以控制调试器时,可将鼠标指针移到变量上以获得它的基本值。


 

  您也可以右键单击变量,然后从上下文菜单中选择 QuickWatch。QuickWatch 将为您提供关于某些变量(如 ArrayList 对象)的更多详细信息。


 

其他调试器工具

  Visual Studio 调试器具有许多其他工具(例如 Call Stack 查看器)的功能,可以使用此调试器来查看到此为止调用的函数。还可以获得内存转储和关于进程中线程的信息。我们鼓励您使用这些功能强大的调试工具。


 

小结

  本入门指南旨在帮助您用 Visual Studio 构建一个简单的 Visual Basic 项目。它无法进行全面的介绍。我们鼓励您查询关于 Visual Basic 和 .NET 框架的其他资源,以便更详细地学习这些技术。在完成本教程之后,您至少有了一个可用的项目,在您研究 Visual Basic 时,可以从修改这些代码开始。为了方便起见,我们提供了完整的源代码和项目文件。您可以通过本文顶部的链接获得它们。

补遗:QuickSort VISUAL BASIC .NET 的源代码

  下面是 QuickSort Visual Basic .NET 示例应用程序的完整源代码。您可以复制、使用和分发这些代码(无版权费)。注意,这些源代码以"原样"提供并且不作任何保证。'
'  QuickSort Visual Basic .NET Sample Application
'  Copyright  2001-2002 Microsoft Corporation. All rights reserved.
'  MSDN ACADEMIC ALLIANCE [http://www.msdn.microsoft.com/academic]
'  This sample is part of a vast collection of resources we developed for
'  faculty members in K-12 and higher education. Visit the MSDN Academic Alliance Web site for more!
'  The source code is provided "as is" without warranty.
'

' Import namespaces
Imports System
Imports System.Collections
Imports System.IO

' Declare application class
Module QuickSortApp
    ' Application initialization
    Sub Main()
        'Print startup banner
        Console.WriteLine()
        Console.WriteLine("QuickSort Visual Basic .NET Sample Application")
        Console.WriteLine("Copyright (c)2001-2002 Microsoft Corporation. All rights reserved.")
        Console.WriteLine()
        Console.WriteLine("MSDN ACADEMIC ALLIANCE [http://www.msdn.microsoft.com/academic]")
        Console.WriteLine()
        ' Describe program function
        Console.WriteLine("This example demonstrates the QuickSort algorithm by reading an input file,")
        Console.WriteLine("sorting its contents, and writing them to a new file.")
        Console.WriteLine()
        ' Prompt user for filenames
        Dim szSrcFile, szDestFile As String
        Console.Write("Source: ")
        szSrcFile = Console.ReadLine()
        Console.Write("Output: ")
        szDestFile = Console.ReadLine()
        ' Read contents of source file
        Dim szSrcLine As String
        Dim szContents As ArrayList
        Dim fsInput As FileStream
        Dim srInput As StreamReader
        szContents = New ArrayList()
        fsInput = New FileStream(szSrcFile, FileMode.Open, FileAccess.Read)
        srInput = New StreamReader(fsInput)
        szSrcLine = srInput.ReadLine()
        While Not IsNothing(szSrcLine)
            ' Append to array
            szContents.Add(szSrcLine)
            szSrcLine = srInput.ReadLine()
        End While
        srInput.Close()
        fsInput.Close()
        ' Pass to QuickSort function
        QuickSort(szContents, 0, szContents.Count - 1)
        ' Write sorted lines
        Dim fsOutput As FileStream
        Dim srOutput As StreamWriter
        Dim nIndex As Integer
        fsOutput = New FileStream(szDestFile, FileMode.Create, FileAccess.Write)
        srOutput = New StreamWriter(fsOutput)
        For nIndex = 0 To szContents.Count – 1
            ' Write line to output file
            srOutput.WriteLine(szContents(nIndex))
        Next nIndex
        srOutput.Close()
        fsOutput.Close()
        ' Report program success
        Console.WriteLine()
        Console.WriteLine("The sorted lines have been written to the output file.")
        Console.WriteLine()
        Console.WriteLine()
    End Sub
    ' QuickSort implementation
    Sub QuickSort(ByRef szArray As ArrayList, ByVal nLower As Integer, ByVal nUpper As Integer)
        ' Check for non-base case
        If nLower < nUpper Then
            ' Split and sort partitions
            Dim nSplit As Integer
            nSplit = Partition(szArray, nLower, nUpper)
            QuickSort(szArray, nLower, nSplit - 1)
            QuickSort(szArray, nSplit + 1, nUpper)
        End If
    End Sub
    ' QuickSort partition implementation
    Function Partition(ByRef szArray As ArrayList, ByVal nLower As Integer, ByVal nUpper As Integer) As Integer
        ' Pivot with first element
        Dim szPivot As String
        Dim nLeft, nRight As Integer
        nLeft = nLower + 1
        szPivot = szArray(nLower)
        nRight = nUpper
        ' Partition array elements
        Dim szSwap As String
        While nLeft <= nRight
            ' Find item out of place
            While nLeft <= nRight
                If szArray(nLeft).CompareTo(szPivot) > 0 Then Exit While
                nLeft = nLeft + 1
            End While
            While nLeft <= nRight
                If szArray(nRight).CompareTo(szPivot) <= 0 Then Exit While
                nRight = nRight – 1
            End While
            ' Swap values if necessary
            If (nLeft < nRight) Then
                szSwap = szArray(nLeft)
                szArray(nLeft) = szArray(nRight)
                szArray(nRight) = szSwap
                nLeft = nLeft + 1
                nRight = nRight – 1
            End If
        End While
        ' Move pivot element
        szSwap = szArray(nLower)
        szArray(nLower) = szArray(nRight)
        szArray(nRight) = szSwap        Return nRight
    End Function
End Module

补遗:关于 QuickSort VISUAL BASIC .NET

  为了示范 QuickSort Visual Basic .NET 示例应用程序实际是如何运行的,我们提供了编译好的可执行文件
。您可以通过编译这些项目文件来创建自己的可执行文件。单击 Quicksort_Visual_Basic_.NET.exe,下载源
代码项目文件和可执行文件包。

使用应用程序

  启动 Command Prompt(从 Start 菜单运行"cmd.exe")。使用 CD 命令将目录更改为可执行文件所在的目录。
  然后运行"quicksort.exe"。程序将提示您提供输入和输出文件的名称。任何包含多行的文本文件均可使用。如果需要,可以使用记事本来创建一个此类文件。然后,该程序将对输入文件的内容进行排序,并且将其写入输出文件。

示例程序输出

  下面是来自此 QuickSort Visual Basic .NET 应用程序的一个实例的输出。此示例演示了 QuickSort 算法,方法是读取输入文件、对文件的内容进行排序,然后将其写入新的文件。用户输入的文本以下划线标记。您可以查看下面的示例输入文件 'example.txt' 和输出文件 'output.txt'。

QuickSort Visual Basic .NET Sample Application Copyright (c)2001-2002 Microsoft Corporation. All rights reserved. MSDN ACADEMIC ALLIANCE [http://www.msdn.microsoft.com/academic] This example demonstrates the QuickSort algorithm by reading an input file, sorting its contents, and writing them to a new file.Source: example.txt Output: output.txtThe sorted lines have been written to the output file.

查看示例输入文件"example.txt":Visual C++
Windows Embedded
javascript
Speech API
ASP.NET
VBScript
Windows Media
Visual Basic
.NET Framework
BizTalk Server
XML Parser
Internet Explorer
Visual C#
SQL Server
Windows XP
DirectX API

查看示例输出文件"output.txt":NET Framework
ASP.NET
BizTalk Server
DirectX API
Internet Explorer
javascript
Speech API
SQL Server
VBScript
Visual Basic
Visual C#
Visual C++
Windows Embedded
Windows Media
Windows XP
XML Parser

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章