4

非常に重要なアプリケーションがありますが、これまでのところソース コードはありません。アプリケーションは COBOL で作成され、コンパイルされたバージョンが実稼働システムにあり、実行されています。

ただし、新しいサーバーと新しい COBOL コンパイラに移行する必要があります。新しいサーバーで動作させるには、コードを再コンパイルする必要があるという印象を受けています。既存のコンパイル済みプログラムを実行すると、ランタイム メモリ エラーが発生しました。

プログラムのソース コードはいくつかありますが、古いものです。それとコンパイルされたプログラムの違いが何であるかわかりません。

では、質問です。どうすればよいでしょうか。

古いサーバーを送り返して信用を得る必要があるため、時間は私たちの味方ではありません。アイデア、提案、クレイジーですか?(ソース管理は明らかであり、それを行うのは私次第ではないので、講義を保存してください)

4

8 に答える 8

11

古いサーバーのイメージを作成します。次に、古いサーバーを新しいサーバーで仮想マシンとして実行します。

ただし、より良いオプションは、おそらく運用サーバーを保持することであることに同意します。

于 2008-12-01T18:08:33.927 に答える
6

短期的には、古いサーバーを維持するように手配する方がおそらく安くなるでしょう。半長期的には、プログラムを再設計するための時間と予算を確保する必要があります。プログラムを書き直すか、古いコードをハックしてプログラムが現在行っていることを実行するのにどれだけの労力がかかるかを確認する必要があります。

于 2008-12-01T18:07:41.013 に答える
3

残念です。Source Recovery Companyに相談する必要があります。

于 2008-12-01T18:23:57.203 に答える
2

ソース コードがコンパイルされたバージョンに比較的近い場合は、次のことを試してください。

  • 新しいバージョンをアセンブラに逆コンパイルする
  • 古いソースコードをアセンブラにコンパイルする
  • 比較
  • 新しいバージョンと古いバージョンの違いを古いソース コードにできる限り一致させる
  • 繰り返す

これを補強するために、おそらく 2 番目のステップとして、ソース コードを新しくコンパイルされたバージョンから遠ざけるため、入力データを使用してテストし、その出力を作成するために必要な出力に基づいてリバース エンジニアリングを試みます。テスト入力データが多いほど、これはうまく機能します。

幸運を!

于 2012-04-06T22:24:15.047 に答える
1

(私は COBOL プログラマーではありませんが..) 元のプログラムをコンパイルしたコンパイラのバージョンがわかれば、少なくとも古い COBOL ソースをコンパイルできます。コンパイルされたバージョンが同一である場合、ソースが実際には現在のバージョンであることがわかります。

それらが異なる場合は、動作中のコンパイル済みバージョンと新しくコンパイルされたバージョンを (何らかの方法で)逆コンパイルするか、少なくとも逆アセンブルし、 diff ツールを使用してどのくらい大きな違いがあるかを把握することができます。

于 2008-12-01T18:13:41.703 に答える
0

プログラムは外部リソースによって作成された可能性があり、その人またはソフトウェアハウスまたは組織がリポジトリに最新のソースを持っている可能性があります. 最近合併した場合は、親組織によって保持されているか、組織内の別のコンピューターまたはバックアップコンピューターにインストールされている可能性があります。開発者のユーザー アカウントにコピーがあり、本番サイトまたはライブ サイトに送信されていないか、本社の誰かが状況を評価して解決するためにコピーを持っている可能性があります。それらの人々に電話するか、インストール コンピュータのオペレータまたはサポート スタッフといつでも話をして、磁気テープ、CDROM、またはその他のバックアップ ストレージにコンピュータがあるかどうかを確認することができれば、成功する可能性があります。

于 2010-11-22T15:24:50.563 に答える
0

.int (中間) バイナリ ファイルがある場合は、新しいサーバーで実行できます。そうでない場合は、再コンパイルする必要があります。

于 2008-12-10T11:37:21.030 に答える
0

クレイジーな提案: COBOL DECOMPILER --> SOURCE --> NEW COBOL COMPILER...?

(編集: http://juggersoft.com - 有料 cobol 逆コンパイラ)

于 2008-12-01T18:12:24.933 に答える