在这些情况下,在 Delphi XE2 update 4 中调试可执行文件时,我得到了进一步提到的错误:
- 这取决于系统路径
mqic.dll
中的 WebShpere (C:\Program Files \IBM\WebSphere MQ\bin\mqic.dll
而C:\Program Files\IBM\WebSphere MQ\bin
不是用户路径)。 - 正在使用
Run
->Parameters
->Debugger
->Environment Block
->中的覆盖环境变量进行调试User overrides
Including System Variables
在同一属性页上进行检查
这是错误(它是标记为“系统错误”的 Windows DLL 加载错误)。
程序无法启动,因为您的计算机缺少 mqic.dll。尝试重新安装程序以解决此问题。
几点注意事项:
- 我以普通用户的身份进行调试(无论如何这是正常的做法,但在这种情况下,由于客户端的策略,我不能成为管理员)。
- 一旦我删除了环境变量,它就可以工作(但是程序 barfs 因为它确实需要信息)。
- 在 Delphi 启动之前指定环境变量很麻烦,但作为一种临时解决方法是可行的(我需要在调试时经常更改该变量以测试不同的场景;Delphi 的启动/关闭时间使这很乏味)。
- 我不能没有环境变量,因为它是没有源代码的应用程序所必需的,并且无法及时重写以使其被逐步淘汰
这是事件日志显示的内容:
Faulting application name: CAS400NTMQ.exe, version: 1.1.4639.52512, time stamp: 0x50508180
Faulting module name: ntdll.dll, version: 6.1.7601.17725, time stamp: 0x4ec49b60
Exception code: 0xc0000005
Fault offset: 0x0005333f
Faulting process id: 0x4b20
Faulting application start time: 0x01cd90e36bb90816
Faulting application path: C:\Users\...\bin\CAS400NTMQ.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: a9853965-fcd6-11e1-ae66-78e3b5ca2514
问题:有没有比我上面使用的其他解决方案或更简单的解决方法?