有没有我可以为基于 Delphi 的 EXE 启用的日志记录/跟踪工具,而无需访问 Delphi 代码,只需要编译的 EXE 和相关的 DLL?
这就是我需要它的原因:我们的 Windows 2012 远程桌面服务器(以前称为终端服务器)的一些用户会定期遇到 C0000006 外部异常错误,但仅限于从网络上的共享位置访问的基于 Delphi 的第三方应用程序(即不是 RDS 服务器本地的)。办公室中的本地 PC 用户以相同的方式访问相同的文件没有问题。如果将EXE复制到RDS服务器,RDS用户不会遇到问题;然而,由于应用程序的一些限制,这只是一个测试,而不是解决方案。
关键在于:它只发生在 Mac 上运行的 RDS 客户端(大约 6 个用户),而不是 Windows RDS 客户端(大约 15 个用户)。
我已经在 MS 终端服务器论坛上发布了一个详细但尚未回答的问题。我的研究表明,这种行为并不是什么新鲜事。
- Windows 2000 修复了一个问题,该问题与 Windows 混淆了哪个客户端会话打开了特定程序有关。
- 即使在最近的 Windows 2008 中,RDS 上也存在特定于 Delphi 的网络访问问题,这与它按需加载部分 EXE/DLL 的方式有关,而不是在打开应用程序时加载。我推断,虽然症状相同,但根本原因肯定有所不同。
因此,当我等待第三方开发人员的预测时,我正在尝试找出是否有任何方法可以设置活动跟踪,无论是特定于 Delphi 的还是与网络相关的,都可以告诉我特定会话访问特定网络文件的时刻。这至少可以帮助我识别与用户遇到错误的时刻相关的事件。