调试检查器(The Debug Inspector) Debug Inspector使用户能查看诸如类和记录的数据对象,也可以用它来查看整数.字符数组等简单数据类型,但这类简单数据类型最好是用Watch List查看.Debug Inspector最大用途是用于查看类和记录. Note 只有在调试器下运行的程序暂停执行时,才能使用Debug Inspector. 要查看一个对象,点击Code Editor中该对象的名字,并从Code Editor的快捷菜单中选择[Inspect]菜单项或按[Al…
Delphi应用程序的调试(五)其他调试工具 Delphi7中提供了一些附加调试工具来帮助用户检查程序错误.从性能上讲,其中一些工具属于高级调试工具.尽管高级调试工具不像其他工具那样常用,但对于经验丰富的编程人员来说,它们是非常有用的. Evaluate/Modify对话框(The Evaluate/Modify Dialog Box) 该对话框用于检查变量的当前值和修改变量的值.使用这个对话框,用户可以修改某个变量的值来测试不同的输出结果.在调试期间改变一个变量的值,使用户能测试程序不同参数的…
Delphi应用程序的调试(二)使用断点 使用断点(Using Breakpoints) 当用户从Delphi IDE 运行程序时,程序全速运行,只会在设置了断点的地方停住. New Term 断点(breakpoint)是一种标记,用以通知编译器,当程序运行到断点所在位置时暂停程序的执行. 设置和清除断点(Setting and Clearing Breakpoints) 断点的设置可通过点击Code Editor的沟槽来进行:要在代码的某一行暂停程序执行,就在沟槽中与该行相对应的位置上点击鼠…
可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局级调试选项.从主菜单[Tools | Debugger Options]菜单项调出Debugger Options对话框. 在Debugger Options对话框的底部有一个标记为Integrated debugging的复选框,它控制是否使用IDE调试器调试程序.如果选中Integrated d…
可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局级调试选项.从主菜单[Tools | Debugger Options]菜单项调出Debugger Options对话框. 在Debugger Options对话框的底部有一个标记为Integrated debugging的复选框,它控制是否使用IDE调试器调试程序.如果选中Integrated d…
步进式代码调试(Stepping Through Your Code) 步进式代码调试是最基本的调试操作之一,但仍要在此讲述.人们常常容易犯只见树木不见森林的错误.经常复习基本的知识有助于读者了解以前不知道的东西. 调试沟槽符号(Debugging Gutter Symbols) 在开始讲述之前,先要说说在调试会话期间出现在Code Editor沟槽中的符号.在之前的讲解中讲过,当用户在一个代码行上设置一个断点,沟槽中就会出现一个红色的圆圈. 沟槽中还有一个绿色箭头符号指示执行点所在位置.如下图…
监视变量(Watching Variables) 当程序停在一个断点处时,用户做些什么呢?通常用户在断点处停下来是要检查变量的值,某个变量的值是否与预料的取值相同?或者某个变量取什么值(事先并不知道这个变量的取值). Watch List窗口的作用是使用户能检查变量的值.编程人员常常忽视这个简单而又根本的特性,因为他们没有花时间来完整地学习调试器的使用.用户可添加任意多的变量到Watch List中.下图就是调试会话期间的Watch List窗口. 变量名和变量值都显示在Watch List中.…
集成式调试器是Delphi IDE的一个重要特性.该调试器使用户能方便地设置断点.监视变量.检查对象等等.在运行程序时,使用该调试器能快速查找出程序发生了什么(或未发生什么).一个号的调试器对程序开发的效率至关重要. 调试工作容易被忽略.我也是刚开始学习Windows编程时,很长时间都未理睬调试器,因为当时忙于学习如何编写Windows应用程序.当后来知道这是一个很有价值的调试器的后,才后悔为什么没有早点使用它.希望大家从我的经历中吸取教训. 一.为什么使用调试器 对于这个问题的回答很简单:调试…
习惯了用老方式(注释的方式)来对程序进行调试,不过昨天才发现这样调试存在很大的隐患:在工程发布的时候如果忘记把该注释的代码注释掉,而让这些调试信息随工程一起发布,如果是可见的调试信息倒好发现,如果不是可见的,那就惨了.昨天就吃了这个亏,现在总算找了个新方法,还得感谢一下Debug和Release.通过#if预编译指令对DEBUG进行判断,如下: #if DEBUG        // 调试用代码        ……        ……#endif 调试用代码在Debug状态下是要执行的,而在Re…
Java后台程序远程调试 第一步:在JVM的启动参数中增加-Xdebug -Xrunjdwp:transport=dt_socket,address=6688,server=y,suspend=n 第二步:在eclipse中, Debug Configurations -> Remote Java Application 连接调试. Tomcat程序远程调试 第一步:在cmd窗口, cd切换到tomcat的bin目录下. 第二步:执行 set JPDA_ADDRESS=6688 设置环境变量.6…