进程被第三方应用程序杀死(Sprint Smartview)

eco*_*eco 8 c++ windows winapi kill process

最近,来自同一家公司的两个软件用户开始体验随机关闭(没有错误消息,崩溃对话框,退出对话框等).我们能够将这两个系统的共同点分离到特定的软件(移动宽带设备管理器).当该软件运行时,我们的软件会在约2分钟的时间内随机关闭.如果我们退出宽带管理器,我们的软件将无限期地运行而不会出现问题.

我无法想到为什么我们的软件和他们的软件之间会有任何互动.我们的软件无法访问网络,宽带调制解调器甚至无法插入.

我们为客户提供了一个解决方案(以管理员身份运行我们的软件或在运行我们的软件之前退出移动宽带管理器)但我们希望解决问题,这样他们就不必担心做这些事情.

我在我们的软件上附加了一个远程调试器,但我不确定在哪里查看我们的软件究竟是如何死亡的.当我们的进程结束时,调试只以退出代码0结束.

我的问题是,如何调查Win32进程如何/为何被杀死,以及如何防止它发生?

编辑:我在十六进制编辑器中打开了宽带管理器及其使用的DLL,并引用了一个与我们完全相同的可执行文件.所以我猜这就是链接.重命名我们的可执行文件修复了我们用户的问题,但不幸的是,Sprint SmartView的愚蠢.

编辑:帮助罕见的其他开发人员点击:如果您的可执行文件已命名,phoenix.exe并且您的最终用户正在运行Sprint SmartView,那么这就是您的程序随机死亡的原因.重命名您的可执行文件将解决此问题(或者花费几个月的时间来确定在Sprint中通知谁以使其真正得到解决).phoenix.exe具体提到的文件是WwanCoreSdk.dll.

j_k*_*bik 1

如果您的应用程序是 32 位,请尝试查看WinAPIOverride32。它将向您显示程序完成的所有系统调用,因此如果您能够在提到的管理器的日志中正确计时杀死程序,那么应该更容易解释为什么会发生这种情况。