社区
Delphi
帖子详情
如何得到当前执行的语句在源代码中的行数?
mycode
2001-06-03 01:16:00
在程序执行中,我想写入日志,记录当前发生的情况,同时我也想记录下来,自身这条语句在源代码中的行数,以便于查错时快速定位;
...全文
304
30
打赏
收藏
如何得到当前执行的语句在源代码中的行数?
在程序执行中,我想写入日志,记录当前发生的情况,同时我也想记录下来,自身这条语句在源代码中的行数,以便于查错时快速定位;
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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)
统计java代码
行数
首先下载并安装CLOC,然后在命令行
中
执行
`cloc path/to/java/files`,其
中
`path/to/java/files`是你解压后的Java
源代码
目录。CLOC会提供详细的报告,包括代码行、注释行和空行的计数。 - SonarQube是一款更强大的...
c#Winform
中
如何在datagridview
中
进行分页?
// 数据库
执行
语句
SqlDataAdapter sda = new SqlDataAdapter(strSql, conn); // 声明数据适配器的实例 sda.Fill(ds); // 填充数据集 conn.Close(); // 关闭链接 dtInfo = ds.Tables[0]; // 用数据集
中
的数据...
实验一 条件
语句
、循环
语句
的使用 for循环嵌套打印由“*”组成的直角三角形
在本实验
中
,我们将深入探讨Java编程
中
的条件
语句
和循环
语句
,特别是重点在于如何使用for循环嵌套来绘制直角三角形。这个实验旨在帮助学习者掌握for循环的基本语法,理解其特点,并通过实际操作熟悉循环嵌套的
执行
...
MSSQL存储过程基础
在SQL Server
中
,存储过程是一种预编译的SQL
语句
集合,它可以接受输入参数,
执行
一系列操作,并可能返回结果。存储过程在数据库设计和开发
中
起着重要作用,因为它们能够提高性能,提供代码重用,增强安全性,并简化...
DataGridView分页功能的实现
需要根据
当前
页号和每页显示的
行数
来计算
当前
页面的开始记录行和结束记录行,然后从元数据源复制记录行到临时 DataTable
中
,最后将临时 DataTable 绑定到 DataGridView 控件上。 在实现分页功能时,需要注意
当前
...
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章