Progress 4GL技术咨询:如何查找.p调用的.t触发器及运行.r时的.t文件
查找Progress 4GL中程序调用的触发器文件
处理.p源程序的方法
- 静态分析源码:直接在.p文件里搜索
RUN、USE或INCLUDE语句,触发器文件通常通过这些指令被调用;同时可以查找ON ... TRIGGER的定义,确认程序内联或关联的触发器。 - IDE工具辅助:在Progress Developer Studio for OpenEdge(PDSOE)中,右键.p文件选择「Find References」,可快速定位所有关联的触发器文件引用。
处理.r编译程序的方法
- 运行时日志追踪:
启动程序时添加参数:-logfile trigger-log.txt,程序运行过程中所有加载的文件(包括.t触发器)都会被记录到日志文件中,直接查看日志即可找到对应触发器。 - 使用PROSHOW工具:
执行命令:proshow -listfiles your-program.r,该命令会列出.r程序运行时会加载的所有关联文件,其中包含调用的触发器文件。 - 反编译分析:如果有授权,使用Progress官方的
r2p工具将.r文件反编译为.p源码,之后按照静态分析.p文件的方法查找触发器引用。
额外排查技巧
- 检查数据库字典:部分触发器是直接绑定到数据库表的,而非程序显式调用,可通过Data Dictionary工具查看对应表的触发器配置。
- 按命名规则搜索:在项目目录中搜索所有.t文件,结合程序的业务模块或关联表名,匹配可能的触发器文件(比如触发器文件名常和对应表名、功能名关联)。
内容的提问来源于stack exchange,提问作者Bharat
相关产品推荐
相关产品推荐

