zoukankan      html  css  js  c++  java
  • 问题-delphi 调试(F8)错行处理

    在delphi 7中(其他版本也可能碰到该问题),编译后,代码左边显示蓝色小点,表示哪句代 码是被编译了的,可今天我的一些代码不能显示那些蓝点了,这样也就不能在上面设断点了,而且用F8跟踪发现执行的顺序不对.同时,编译中发现有错误的行,也没有指到对应的行上,可能在错误行的下一行,甚至有时候会执行到注释行或者空行上。造成该问题的原因是Dos换行和Unix换行的差异造成的错误。 Dos换行是2个字符,一个回车符+一个换行符。 Unix换行只有一个自符,好像是换行符。这样在Delphi编辑器内显示时候没有问题,跟踪执行,定位代码行的时候就不准确了。
          一般不会有Unix换行进入的,但是,QQ的聊天窗口使用Unix换行的,拷贝粘贴的时候,就会弄成Unix换行。要解决该问题,可以用UltraEdit打开有问题的.Pas文件,然后菜单中档案-->转换-->UNIX/MAC 转DOS.转换后后保存,再用delphi打开就好了.////////////////// 解决办法,用UltraEdit打开有问题的Pas文件然后保存为Dos换行样式就好了。
    ================================================================

    delphi编译时调试错行的问题现象,原因和处理 

    注:先做好备份,然后再处理。

    问题现象:

           现象1:鼠标移到变量上无提示。
           现象2:编译后,左边的调试蓝点,有可能出现在变量声明那行上。(据观察,正常情况下调试蓝点,不会出现在变量声明的行上)。
           现象3:编译后,应能调试的那个语句所在行,无调试蓝点,给那行加调试断点,运行程序后,断点显示一个×
           现象4:过程或函数的最外面的begin 或 end的那行 有可能出现无调试蓝点。(正常来说应当出现)
           现象5:程序有可能能编译通过,能正常运行。(我遇到过这种情况)
           现象6:用UtrlEdit打开出现提示是否转换为dos格式。(注意要先备份,可以转,但不要着急保存)  

    问题原因:
          是Dos换行和Unix换行的差异造成的错误。Dos换行是2个字符,一个回车符+一个换行符。Unix换行只有一个自符,好像是换行符。这样在Delphi编辑器内显示时候没有问题,跟踪执行,定位代码行的时候就不准确了。 一般不会有Unix换行进入的,但是,QQ的聊天窗口使用Unix换行的,拷贝粘贴的时候,就会弄成Unix换行。(BlueTrees 回复说)
          参考: http://topic.csdn.net/t/20060505/13/4731278.html

    问题处理:

           千万不要直接照上面的参考连接中的“解决办法”处理 ,除非你的代码和注释都是英文的,否则你的中文都为变为u开头的英文文字。
           正确的处理方法:用UltraEdit打开有问题的Pas文件,按提示转换为dos格式,然后全选复制,粘贴全覆盖原来的代码(当然你要delphi打开你的代码)
           环境:win2003sp2,delphi7,UltraEidt v15
           你觉得不放心,还可以这么做:把每行代码的换行全部重做,然后保存,这个格式肯定是对的

    问题现象:在F8跟踪时,每次定位的行都不是真正的行号。

    问题原因:在本机上存在多个同名单位,而且同时被DELPHI引用。这时也会出现跟踪错行。

    问题处理:在delphi中关闭错误的单元选择页,或是去掉错误的引用都可以。

  • 相关阅读:
    CLR执行模式之程序集代码的执行
    CLR执行模式之托管代码程序集浅析
    第十章 使用变量的一般事项
    第九章伪代码编程过程 The PseudoCode Programming Process
    第八章防御式编程(代码大全读后)
    第七章实战高质量的子程序(代码大全第七章读后)
    一时看不明白大神的想法
    debain9 debian8 alpine 3.7 aliyun
    elk7
    ansible
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/4654386.html
Copyright © 2011-2022 走看看