Aween

向.NET进发

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
由于程序中存在着分支、循环等结构,造成了程序运行时的变化规律和其静态结构之间
存在着一定的差异,因此仅靠阅读程序本身很难掌握程序运行时各变量内容的动态变化,这
就给我们调试程序中的运行错误带来了很大的困难。如果能够在程序运行过程中动态地显示
程序执行的流向和各变量的内容,则有助于程序员了解程序的动态运行情况,从而更好、更
快地调试程序。TurboC集成环境有很强的动态调试能力,下面介绍其中最主要的几种手段。
(1)运行(Run: Run,ctrl-F9):运行程序员编写的应用程序。该选项的功能非常强大,
如果源程序尚未编译,或者在编译以后又修改了源程序,则会在运行程序之前先自动对源程
序进行编译和连接工作。如果源程序中设置有断点(参阅(2)),则只执行到断点处就停下来,
以便程序员调试程序。若再次调用该选项,则从当前断点开始运行程序,直到程序结束或者
到下一个断点处。 ·
(2)设置断点 (break/watch: toggle breakpoint, Ctrl-F8) :设置断点的作用是使程序可以
分段运行。如果在程序中的某个语句处设置了断点,则使用上述运行选项执行程序时就会在
断点处停下来,这时可以利用下面介绍的其它调试功能观察程序的运行情况,包括各数据区
和变量的当前值。在程序中可以设置多处断点,这时每调用一次运行功能,则程序从当前位
置执行到下一个断点处:如果断点是设置在循环中的,则每循环一次、程序就中断一次。。为
了管理断点,在集成环境的断点与观察(break/watch)子菜单中还有两个辅助功能:清除所有
断点(clear all breakpoints)和查看下一个断点(View nextbreakpiont)。
(3)变量查看及修改 (Debug:Evaluate, CtrL-F4):该项功能用于在程序运行到断点处时查
看变量或其它数据项的内容。对于变量来说,还可以改变其内容,便于下一步继续调试。在
调用本功能时,屏幕上弹出一个窗口,窗口分为三栏:,最上面是设置(Eva1uate)栏,用于输入
要观察的变量名或表达式;中间是结果(ResdO栏,用于显示要观察的变量或表达式的值;而
最下方是修改(New va1ue)栏,用于修改变量的值。在查看或修改完毕时可以使用退出键
(ESC)返回编辑状态。 , 、
(4)查看函数调用情况(Debug: Call stack, Ctrl-F3):该功能用于查看当前调用栈的情况。
如果断点设置在函数中,则调用该功能会在屏幕上弹出一个窗口,显示出程序运行到断点时
的函数调用顺序(最下方是主函数,最上方是当前正在执行的函数)。
(5)查找函数(Debug: Find function):可用于在程序中快速查找某个函数的位置。如果一
个程序很大,或者包括多个源程序文件,则使用该功能是相当方便的。 调用该功能的结果是
光标移到指定函数的开始。 ”、
(6)更新屏幕内容(Debug: Refresh disp1ay):在调试程序的过程中,有时程序的输出结果
会破坏集成环境的编辑版面显示内容,这时可以使用该功能恢复正确的屏幕内容。
(7)设置观察对象(break/watch:Add watch,ctrl-F7):使用该项功能可以将变量或表达式
设置为观察对象,这些观察对象的值在调试过程中会在屏幕下方的信息显示窗口中显示出
来。该功能类似于上面介绍的“变量查看与修改(Evaluate)" 功能,但更直观、更方便,只是不
能修改变量的值、另外,在断点与‘观察(Break/watch)子菜单中还有几项用于管理

观对象的功能选项:删除观察对象(Delete watch)选项 ,它用于删除一个观察对象;使用该项功能时,
首先应使用屏幕窗口切换键(F6)将光标切换到信息显示窗口中,然后使用光标选定要删除的
观察对象,再使用本功能选项删除选定的观察对象。编辑观察对象(Edit watch)选项,它用于
修改观察对象,用法和删除观察对象相同。删除所有删除对象(remove all watches)选项,它
可以删除所有的观察对象。
(8)执行到当前光标位置(Run: Go to cursor, F4):以当前光标位置为断点,使程序执行
posted on 2006-03-02 21:46  Aween's Blog  阅读(302)  评论(0编辑  收藏  举报