Delphi调试沟槽符号

Delphi调试沟槽符号

在开始讲述之前,先要说说在调试会话期间出现在Code Editor沟槽中的符号。在之前的讲解中讲过,当用户在一个代码行上设置一个断点,沟槽中就会出现一个红色的圆圈。

微信截图_20190812142321.png

沟槽中还有一个绿色箭头符号指示执行点所在位置。如下图:

微信截图_20190812142345.png

有一点没有讲过,就是在Delphi调试沟槽符号中与某些代码行对应的位置上有一些蓝色小点。这些蓝点指示实际产生汇编代码的源代码。如下图,调试器停在一个断点处时的Code Editor。其中有指示产生汇编代码的源代码行的蓝色小点,也有指示执行点的箭头符号,还有断点符号。断点符号上的复选标志表示该断点是一个有效断点。

微信截图_20190812142408.png

仔细观察上面的代码,不带小点的代码行不产生任何编译代码。例如上面的:

var
  S: string;
  X: Integer;

为什么这几行不产生代码呢?因为它们是变量声明行。再看一行:

X := 20;

为什么这一行不产生代码呢?这是因为代码优化的缘故。编译器在编译代码时会发现变量X未实际使用过,从而将它优化掉。再看下面几行:

{$IFNDEF WIN32}
S := 'Something's very wrong here...';
{$ENDIF}

编译器不会编译器伪指令之间的源代码行进行编译,因为符号WIN32定义在一个Delphi7的程序中。编译器伪指令{$IFNDEF WIN32}告诉编译器:如果目标平台不是32位Windows,就编译这一行。因为Delphi7是32位编译器,所以不编译这行代码。如果是在Delphi1(16位环境)中,这行源代码就要编译。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

搜索
«   2019年8月   »
1234
567891011
12131415161718
19202122232425
262728293031
网站分类
控制面板
您好,欢迎到访网站!
  查看权限
最近发表
友情链接
文章详情
首页 > Delphi调试沟槽符号
时间:2019年08月02日 19:51:32
分类:Delphi程序调试
阅读:57次
上文:Delphi之监视变量和Tooltip表达式求值
下文:Delphi之Watch List快捷菜单

返回顶部