VC++应用程序无法启动 ߞ但没有错误

发布于 2024-12-14 02:22:00 字数 1019 浏览 3 评论 0原文

我对使用 VS 2008 构建的旧版 Visual C++ / MFC 应用程序进行了细微更改。我更改了 .rc 文件中的一些 UI 资源,编译时没有任何问题,然后将其部署到我的客户系统上。然而,之前运行良好的程序现在无法在他们的一台服务器上运行。它在我的笔记本电脑和他们的其他服务器上运行良好,其中许多服务器与出现问题的服务器基本相同。

然而奇怪的是,完全没有任何错误消息。没有消息框,没有 errorlevel 设置(在命令提示符下运行时),没有 Dr. Watson 条目,什么也没有。

它是一个 MFC 应用程序,实际上并不包含任何非常特别的东西。它确实链接到一些外部库 - 例如,一些旧版本的 Xerces C++ XML 解析器。但这可能不太相关,对吧?

该程序有一个派生自 CWinApp,我尝试在其构造函数中添加一些日志记录。基于此,看起来甚至没有到达这个构造函数。

有问题的服务器正在运行 Windows Server 2003 Standard Edition Service Pack 2,并且我们正在尝试在远程桌面会话中运行该程序。 (由于客户端的环境,我现在无法轻松地在控制台会话中进行测试。)

我从版本控制中恢复了更改,这没有帮助 - 但我不知道我是否自己构建了以前安装的版本(仅运行)即使在此服务器上也很好)或者如果它是由其他人构建的。

还尝试重新安装 Visual C++ 运行时库,当然还重新启动 Windows,但都没有帮助。现在我真的没有想法了......关于我可以尝试或检查什么的任何线索?

I made a minor change to a legacy Visual C++ / MFC app built with VS 2008. I changed some UI resources in the .rc file and compiled without any problems, then deployed it on my client's system. However, the program which was previously doing fine now fails to run on exactly one of their servers. It works fine on my laptop and on their other servers, many of whom are basically identical to the one having the trouble.

The weird thing however is that there is absolutely no error message whatsoever. No message box, no errorlevel set (when run on command prompt), no Dr. Watson entry, no nothing.

It's an MFC app that does not really comprise anything very special. It does link in some external libraries – e.g., some old version of the Xerces C++ XML parser. But this is probably not too relevant, right?

The program has a class derived from CWinApp, and I tried to add some logging in its constructor. Based on this, it looks like not even this constructor is reached.

The server in question is running Windows Server 2003 Standard Edition Service Pack 2, and we are trying to run the program in a Remote Desktop session. (Because of the client's environment, I cannot easily test in a console session right now.)

I reverted my changes from version control, which did not help – but I do not know if I had built myself the previously installed version (which ran just fine even on this server) or if it had been built by someone else.

Have also tried to reinstall the Visual C++ runtime libraries and of course reboot Windows, but neither helped. Now I'm really running out of ideas... Any clues on what I could try or check?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ˉ厌 2024-12-21 02:22:00

可能会发生一些错误,但会被抑制,例如空的 catch() 语句或类似的语句。

您可以尝试安装 Windows 调试工具 WinDbg 看看是否可以尝试运行它时获取更多信息。由于下载的文件相当小,只有 25Mb,也许可以将其安装在您客户的 PC 上。

但首先检查您应用程序的事件视图日志,也许其中有一些内容可以提供一些线索。

Probably some error occurs but is surpressed e.g. empty catch() statement or similar.

You could try and install Debugging tools for Windows WinDbg to see if you could get more info when trying to run it. Since the download is rather small 25Mb maybe it is possible to install it on your client's PC.

But first check the eventview log for your app, maybe there is something in there that can shed some light.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文