delphi使用outputdebugstring调试程序和写系统日志

简介: delphi使用outputdebugstring调试程序和写系统日志 procedure TForm1.btn1Click(Sender: TObject); begin OutputDebugString('dddddd'); OutputDebugString('11'); end; procedure TForm1.

delphi使用outputdebugstring调试程序和写系统日志

procedure TForm1.btn1Click(Sender: TObject);
begin
  OutputDebugString('dddddd');
  OutputDebugString('11');
end;

procedure TForm1.btn2Click(Sender: TObject);
var
  EvtSrcHand: THandle;
  EvtMsg: String;
p:Pointer;
i:integer;
size:integer;
q:^byte;
begin
//注册事件源,随便起了个名字。这个名字就是下图事件列表的’来源’一列
//然后判断是否成功。
//注意后面要注销
EvtSrcHand := RegisterEventSource(nil, '测试程序');
if EvtSrcHand = 0 then
begin
ShowMessage('注册事件源失败!');
Exit;
end;

//这里记录一个字符串
//这个字符串显示在下面第二个图选中的位置。
EvtMsg := '记录字符串';
ReportEvent(EvtSrcHand,EVENTLOG_INFORMATION_TYPE,0, 0, nil, 1, 0, @EvtMsg, nil);

//这里记录一块内存,size大小
size:=32;
//申请
GetMem(p, size);
q := p;

//填充这块内存
for i := 0 to size - 1 do
begin
q^ := i;
inc(q);
end;

//这里记录内存的内容。大小为size, 首字节的指针p
//同样也有说明信息msg
EvtMsg := '记录某块内存';
ReportEvent(EvtSrcHand,EVENTLOG_INFORMATION_TYPE , 0, 0, nil, 1, size, @EvtMsg, p);
FreeMem(p);
//注销事件源
DeregisterEventSource(EvtSrcHand);
end;

end.

 

相关文章
|
5月前
|
存储 数据采集 数据处理
【Flume拓扑揭秘】掌握Flume的四大常用结构,构建强大的日志收集系统!
【8月更文挑战第24天】Apache Flume是一个强大的工具,专为大规模日志数据的收集、聚合及传输设计。其核心架构包括源(Source)、通道(Channel)与接收器(Sink)。Flume支持多样化的拓扑结构以适应不同需求,包括单层、扇入(Fan-in)、扇出(Fan-out)及复杂多层拓扑。单层拓扑简单直观,适用于单一数据流场景;扇入结构集中处理多源头数据;扇出结构则实现数据多目的地分发;复杂多层拓扑提供高度灵活性,适合多层次数据处理。通过灵活配置,Flume能够高效构建各种规模的数据收集系统。
110 0
|
1月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
43 5
|
1月前
|
存储 监控 安全
什么是事件日志管理系统?事件日志管理系统有哪些用处?
事件日志管理系统是IT安全的重要工具,用于集中收集、分析和解释来自组织IT基础设施各组件的事件日志,如防火墙、路由器、交换机等,帮助提升网络安全、实现主动威胁检测和促进合规性。系统支持多种日志类型,包括Windows事件日志、Syslog日志和应用程序日志,通过实时监测、告警及可视化分析,为企业提供强大的安全保障。然而,实施过程中也面临数据量大、日志管理和分析复杂等挑战。EventLog Analyzer作为一款高效工具,不仅提供实时监测与告警、可视化分析和报告功能,还支持多种合规性报告,帮助企业克服挑战,提升网络安全水平。
|
2月前
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
60 8
|
2月前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
183 2
|
3月前
|
Java 程序员 应用服务中间件
「测试线排查的一些经验-中篇」&& 调试日志实战
「测试线排查的一些经验-中篇」&& 调试日志实战
32 1
「测试线排查的一些经验-中篇」&& 调试日志实战
|
3月前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
75 1
|
3月前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
67 3
|
3月前
|
监控 应用服务中间件 网络安全
#637481#基于django和neo4j的日志分析系统
#637481#基于django和neo4j的日志分析系统
48 4
|
5月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
149 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据