有COBOL编译程序 - 缺少源

时间:2008-12-01 18:00:09

标签: cobol

我们有一个非常重要的应用程序,但到目前为止还没有源代码。该应用程序是用COBOL编写的,编译版本在我们的生产系统中并且正在运行。

但是,我们需要迁移到新的服务器和新的cobol编译器。我们的印象是我们需要重新编译代码才能使它在新服务器上运行。运行exising编译程序会导致运行时内存错误。

我们有一些该程序的源代码,但它已经过时了。不确定它与编译程序之间的区别。

好的,问题是 - 我们该怎么做?

时间不在我们这边,因为我们必须将我们的旧服务器送回去获得信用。想法,建议,疯狂还是其他? (源代码控制很明显,我不应该这样做,所以保存讲座)

8 个答案:

答案 0 :(得分:11)

创建旧服务器的图像。然后在旧服务器上将旧服务器作为虚拟机运行。

但是,我同意更好的选择可能是保留您的生产服务器。

答案 1 :(得分:6)

在短期内,安排保留旧服务器可能会更便宜。在半长期运行中,您需要花时间和预算来重新设计程序,重新编写程序或者查看将旧代码破解成程序目前所做的工作所需的工作量。

答案 2 :(得分:3)

令人遗憾的是。您应该参考Source Recovery Company

答案 3 :(得分:2)

如果源代码相对接近编译版本,请尝试:

  • 将新版本反编译为汇编程序
  • 将旧源代码编译为汇编程序
  • 比较
  • 尽可能地将新版本与旧版本之间的差异与旧源代码
  • 进行协调
  • 重复

为了增强这一点,可能作为第二步,因为它将使源代码远离新的编译版本,使用输入数据进行测试,并根据输出尝试进行逆向工程,以创建输出所需的内容。您拥有的测试输入数据越多,效果就越好。

祝你好运!

答案 4 :(得分:1)

(我不是COBOL程序员,但..) 如果您知道编译原始程序的编译器的版本,您至少可以编译旧的cobol源;如果编译版本相同,您知道源实际上是当前版本。

如果它们不同,您可以尝试(不知何故)decompile,或者至少disassemble,正在运行的编译版本和新编译的版本,并使用diff tool来获得一个想法这有多大差异。

答案 5 :(得分:0)

疯狂消化:COBOL DECOMPILER - >消息来源 - >新的COBOL编译器......?

(编辑:http://juggersoft.com - PAID cobol反编译器)

答案 6 :(得分:0)

如果您有.int(中间)二进制文件,您可以在新服务器上运行,如果没有,则必须重新编译它们。

答案 7 :(得分:0)

该程序可以由外部资源生成,该人员或软件公司或组织可以在其存储库中拥有最新的源。如果您最近已合并,或者可能位于组织中的其他计算机或备份计算机中,则可能由您的父组织持有。开发人员的用户帐户可能有一份副本,可能尚未发送到制作或现场网站,或者总部的某人有副本可以评估并尝试解决问题。如果给那些人打电话,或者你可以随时与安装计算机操作员或支持人员交谈,看看他们是否有磁带,CDROM或其他备份存储设备,你可能会取得成功。