4 Stimmen

Habe COBOL kompiliertes Programm -- Fehlende Quelle

Wir haben eine sehr wichtige Anwendung, aber bisher noch keinen Quellcode. Die Anwendung wurde in COBOL geschrieben und eine kompilierte Version befindet sich in unserem Produktionssystem und läuft.

Wir müssen jedoch auf einen neuen Server und einen neuen Cobol-Compiler migrieren. Wir haben den Eindruck, dass wir den Code neu kompilieren müssen, um ihn auf dem neuen Server zum Laufen zu bringen. Das Ausführen des exising kompilierten Programms gab Laufzeit-Speicherfehler.

Wir haben einen Teil des Quellcodes für das Programm, aber er ist alt. Ich bin nicht sicher, was der Unterschied zwischen ihm und dem kompilierten Programm ist.

Okay, die Frage ist also: Was sollen wir tun?

Die Zeit ist nicht auf unserer Seite, da wir unseren alten Server zurückschicken müssen, um eine Gutschrift dafür zu erhalten. Ideen, Vorschläge, verrückt oder nicht? (Quellenkontrolle ist offensichtlich und es liegt nicht an mir, es zu tun, also spart euch die Vorträge)

11voto

Matt Brunell Punkte 9892

Erstellen Sie ein Abbild Ihres alten Servers. Führen Sie dann den alten Server als virtuelle Maschine auf Ihrem neuen Server aus.

Ich stimme jedoch zu, dass es wahrscheinlich besser ist, den Produktionsserver beizubehalten.

6voto

Paul Tomblin Punkte 172816

Kurzfristig wäre es wahrscheinlich billiger, den alten Server zu behalten. Langfristig müssen Sie Zeit und Geld für die Überarbeitung des Programms einplanen. Entweder Sie schreiben es neu oder Sie sehen, wie viel Aufwand es wäre, den alten Code so zu hacken, dass er das tut, was das Programm derzeit tut.

3voto

macropas Punkte 3002

Das ist traurig. Sie sollten sich die Quelle Recovery Company

2voto

Abacus Punkte 1905

Wenn Ihr Quellcode relativ nahe an der kompilierten Version, versuchen Sie dies:

  • neue Version in Assembler dekompilieren
  • Kompilieren des alten Quellcodes in Assembler
  • vergleichen
  • die Unterschiede zwischen der neuen und der alten Version so gut wie möglich mit dem alten Quellcode in Einklang zu bringen
  • wiederholen

Als Ergänzung dazu und wahrscheinlich als zweiter Schritt, da dies den Quellcode weiter von der neuen kompilierten Version entfernt, sollten Sie mit Eingabedaten testen und einfach versuchen, anhand der Ausgabe zurückzuentwickeln, was für die Erstellung dieser Ausgabe erforderlich wäre. Je mehr Test-Eingabedaten Sie haben, desto besser könnte dies funktionieren.

Viel Glück!

1voto

(Ich bin kein COBOL-Programmierer, aber ) Wenn Sie die Version des Compilers kennen, mit dem das ursprüngliche Programm kompiliert wurde, können Sie zumindest den alten Cobol-Quellcode kompilieren; wenn die kompilierten Versionen identisch sind, wissen Sie, dass der Quellcode tatsächlich die aktuelle Version ist.

Wenn sie sich unterscheiden, können Sie versuchen, (irgendwie) dekompilieren oder zumindest demontieren. , die kompilierte Arbeitsversion und die frisch kompilierte Version und verwenden Sie eine Diff-Werkzeug um eine Vorstellung davon zu bekommen, wie groß der Unterschied ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X