将Delphi .dcu反编译为.pas

时间:2013-12-20 15:56:20

标签: delphi syntax-error decompiling code-layout

我正在运行RAD Studio Delphi XE2。我的一个.pas文件似乎有些奇怪。我的unit1.pas中的许多线路都被简单的'º'取代而其他线路丢失了。我留下了原始文件中间某处的一小段代码。我可以通过某种方式反编译unit1.dcu来获取原始的unit1.pas吗?

另外,为什么会发生这种情况?你以前听说过这个吗?代码运行但很明显,我无法编辑任何我看不到的内容。

2 个答案:

答案 0 :(得分:5)

即使你可以反编译它,也可能是与原版相比难以维护的混乱。

相反,请尝试查看项目的__History文件夹。您应该找到旧版本的代码。选择最新的; - )

  

为什么会发生这种情况?

有很多原因。 IDE中的错误? IDE插件或自定义组件中的错误? 你的代码中的错误可能会覆盖源文件吗?

答案 1 :(得分:2)

您无法将.dcu文件反编译为原始来源。从源代码到可执行代码的转换中丢失了信息。类型声明,变量名,方法名,代码布局等在编译器的输出中根本不存在。编译是一种单向过程。

如果您使用版本控制,您将能够从存储库中提取最新版本。如果您不使用版本控制,那么您刚刚学到了很多教训,如果没有版本控制,您将再也不会尝试进行软件开发。