我怎样才能抓住一个神秘的过程杀手?

时间:2009-07-14 10:38:33

标签: debugging adplus process-monitoring

我们让这位客户抱怨产品在运行2-5分钟后不断崩溃。这需要几天的猜测,但我们得出以下结论:
当进程终止而没有留下任何痕迹(事件日志/崩溃转储)时,有两种选择:
1.我们自己的进程调用TerminateProcess()
别人杀了我们。

要捕获自杀性的callstack(案例1),您只需要运行“Adplus -crash -CTCFG ...”
唉,这无助于解决我们的客户情况。

我们开始向客户耳语,“也许有人在杀我们,也许是病毒或其他东西......?!”。 客户是怀疑论者(“幽灵/病毒/守护神?”),但就在我们被踢出去之前,我们被一些系统管理员的忏悔所挽救。 他被提醒他们定期运行的脚本监控我们的流程。那个剧本错误地认为我们被绞死并迫使进程终止(Yack!)。

现在问题是:
下一次,我们想要一种工具或技术来捕捉谁在杀死我们的过程? (我知道有一些黑客工具可以避免被杀,但我只想记录串行杀手进程PID / NAME的内容。)

他们是否有官方/非黑客方式?

2 个答案:

答案 0 :(得分:1)

您需要在系统调用上安装一个钩子。你也可以阻止这些电话。不完全确定它是否是一种非黑客方式:)

答案 1 :(得分:0)

如果我是你,我会记录应用程序的每个开始。流氓工具可能会定期杀死你的应用程序,如果你每隔10分钟或10秒(或任何设置)看到你的应用程序启动它会引起你的眉毛。

据我所知,除了像tracking system calls这样的问题之外,没有任何灵丹妙药可以解决这个问题,而且非常讨厌,但它应该可以开箱即用。