编译器和链接器调试信息之间有什么区别?

opc*_*0de 11 delphi debugging

我有点困惑为什么Delphi在编译时链接和调试信息时有调试信息.

他们之间有什么区别?

Dam*_*uid 14

编译器中的调试选项会将调试信息添加到DCU文件中.

链接器中的调试选项会将DCU文件中找到的所有调试放入exe/dll中.

如果您使用的是FastMM4或memslueth,您将需要两个选项来帮助您找到任何故障.

如果您的发布代码应该禁用链接器选项,以大大减少您的exe大小(并保护您的IPR).

如果您只发布DCU文件(作为第三方控件/库),则应在发布之前关闭编译器设置,如果您不提供源代码.

  • madexcept将地图信息添加到exe.当您将makexcept安装到IDE中时,它会在您编译/构建时自动为您执行此操作.使用命令行编译器时,需要使用实用程序.IIRC它被称为madexceptpath.exe,位于madexcept安装文件夹中的某个位置. (2认同)