社区
Delphi
帖子详情
如何得到当前执行的语句在源代码中的行数?
mycode
2001-06-03 01:16:00
在程序执行中,我想写入日志,记录当前发生的情况,同时我也想记录下来,自身这条语句在源代码中的行数,以便于查错时快速定位;
...全文
387
30
打赏
收藏
如何得到当前执行的语句在源代码中的行数?
在程序执行中,我想写入日志,记录当前发生的情况,同时我也想记录下来,自身这条语句在源代码中的行数,以便于查错时快速定位;
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mycode
2001-06-23
打赏
举报
回复
好办法,好主意!
pipai
2001-06-19
打赏
举报
回复
如果你只是想记录行号、文件名信息,在设置Assertions选项的基础上,采用如下方法:
Procedure RecordFileNameAndLineNum( Const errmsg : String );
Var psFileName, peFileName : Integer;
psLineNum , peLineNum : Integer;
strFileName, strLineNum : String;
Begin
psFilename := Pos( '(', errmsg );
Inc( psFileName );
peFileName := Pos( ',', errmsg );
strFileName:= Copy( errMsg, psFileName, peFileName-psFileName );
psLineNum := Pos( 'line ', errmsg );
psLineNum := psLineNum + 5;
peLineNum := Pos( ')', errmsg );
strLineNum := Copy( errMsg, psLineNum, peLineNum-psLineNum );
//记录 strFileName 和 strLineNum
End;
在需要记录文件名和行号的地方,如下:
Try
Assert( false );
Except
On E : EAssertionFailed Do
RecordFileNameAndLineNum( E.message );
End;
pipai
2001-06-19
打赏
举报
回复
Assert可以,只是必须把project--options--compiler--debugging--Assertions选中,
你可以在程序用下面语句测试:
Assert( false, 'test');
warrior
2001-06-19
打赏
举报
回复
理论上可以这么做:
编一个汇编过程,在需要调试的地方调用它。
在过程中取调用者的返回地址,并记录。
DELPHI的IDE支持通过指令地址查找语句。
mycode
2001-06-19
打赏
举报
回复
Delphi的是什么?
windindance
2001-06-18
打赏
举报
回复
用BCB就有了。
define CODELINE __LINE__
mycode
2001-06-17
打赏
举报
回复
还想得到更好的回答!
songlichao
2001-06-10
打赏
举报
回复
gz
mycode
2001-06-10
打赏
举报
回复
如果按zswang(zs)的方法去做,对一个几万行甚至十几万行的程序,估计可能性不大;
排错的工作量和难度也加大了不少;
无论如何感谢zswang(zs);
王集鹄
2001-06-09
打赏
举报
回复
你是不是看角本程序看多了
如果你想研究一下怎样控制Delphi IDE
请关注我发的帖子
王集鹄
2001-06-09
打赏
举报
回复
没有必要大动干戈
try
{}
except
{保存当前的错误地址}
end;
//test
const
cErrLogFile = 'ErrAddr.log';
begin
try
Query1.Close;
Query1.SQL.Text := Edit1.Text;
except
with TStringList.Create do try
if FileExists(cErrLogFile) then LoadFromFile(cErrLogFile);
Add('<XGUIDX>'{Shift+Ctrl+G} + FormatDateTime('YYYY-MM-DD HH:NN:SS', NOW));
SaveToFile(cErrLogFile);
finally
Free;
end;
end;
//出错的时候你可以在代码中查<XGUIDX>
mycode
2001-06-09
打赏
举报
回复
唔...
mycode
2001-06-08
打赏
举报
回复
还有人来说一说吗?
c_hk
2001-06-07
打赏
举报
回复
唔.....
c_hk
2001-06-07
打赏
举报
回复
观望
mycode
2001-06-07
打赏
举报
回复
听说一个叫numega公司开发的产品,调试功能很强大;哪位知道?
mycode
2001-06-06
打赏
举报
回复
听说一个叫numega公司开发的产品,调试功能很强大;哪位知道?
mycode
2001-06-05
打赏
举报
回复
谁来找到它?
windindance
2001-06-04
打赏
举报
回复
to:Kingron(WinAPI):
C里是支持的(在#define __LINE__),但DELPHI中好象不支持吧?因为DELPHI不支持宏调用。
mycode
2001-06-04
打赏
举报
回复
to:Kingron(WinAPI)
请详细说明一下?
加载更多回复(10)
C# 里怎样
得到
当前
执行
的函数名,
当前
代码行,
源代码
文件名。
【C/C++】C语言
中
的__FILE__、__LINE__、#line、__func__关键字的作用_printf ("%s\n", __func__)作用是啥-CSDN博客。D:\CSharp\函数名代码行
源代码
文件名\WindowsFormsApp1\WindowsFormsApp1\Form1.cs。D:\CSharp\函数名代码行
源代码
文件名\WindowsFormsApp1\WindowsFormsApp1\Form1.cs。C# 里怎样
得到
当前
执行
的函数名,
当前
代码行,
源代码
文件名。
SAP ABAP CDS View
源代码
行数
统计工具
有个教程读者向我咨询,他的领导要求一个可视化的 ALV 报表,简单了解下部门 CDS View 开发工作量。既然要出 ALV 报表,首要任务就是提供数据,即统计某个 ABAP 开发包下面,每个 CDS View 的
源代码
行数
。正好笔者以前开发过这样一个 CDS View
源代码
行数
统计,这里分享出来给各位读者使用。工具的使用方法很简单,因为我封装到一个 ABAP 类里了,大家在自己的 ABAP 系统里新建一个类,将本文末尾的
源代码
,拷贝到自己的类里,激活即可。我的类名称叫。
统计
源代码
文件的总
行数
、空
行数
、注释
行数
、代码
行数
目的: 一门语言的,如Java的入门,至少要编写两万行代码,所以我们需要编写计算代码
行数
的程序:这个程序同时可以知道我们编写的每一个程序的程度(大概可以从代码的长度可以看出一部分);这也是一种必要性。
源代码
: import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException;
源代码
行数
统计工具SourceCounter实战解析
为满足特殊场景需求,提供DSL式规则配置:comment_style: strict # 强制三重引号为字符串此类接口使工具更具适应性,适用于审计、合规等专业场景。综上所述,非
源代码
行过滤并非简单的“删空行去注释”,而是一个融合正则工程、语法分析、文件系统理解与用户体验设计的综合性课题。唯有构建多层次、可配置、可验证的过滤体系,方能支撑起高质量SLOC度量的基石。为了确保代码行分类结果具备一致性和可比性,首要任务是建立清晰、无歧义的判定规则。
139. 如何获取一个 ABAP 类所有方法
源代码
行数
的列表
执行
之后的报表输出,其
中
方法
源代码
超过 100 行的,用红色高亮显示,超过 50 行但不超过 100 行的,用黄色显示;接下来,我们使用 LOOP 循环变量这个方法返回的行项目,逐行调用 READ REPORT,读取方法的
源代码
到 ABAP 内表变量里,然后使用函数。里,有朋友想退而求其次,问我如何开发一个 ABAP 报表,统计一个 ABAP 类的所有方法,将其
源代码
行数
,以列表的方式打印出来。笔者之前的文章,曾经提到,ABAP 类的每个方法,都是存储在一个特殊名称的。的名称,然后使用这篇文章里学到的。
Delphi
5,943
社区成员
262,941
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章