1

-GD Delphi 编译器开关允许输出详细的调试映射。这样的文件包含例如关于被编译到应用程序中的文件的信息。

Line numbers for UnitName(UnitName.pas) segment .text

    49 0001:001D27EC    50 0001:001D27F3    51 0001:001D27FC    52 0001:001D280A
    53 0001:001D2813    55 0001:001D2827    57 0001:001D2837    60 0001:001D283C
    ...

我想使用调试映射来分析应用程序依赖关系。目前,我遇到了具有相同名称但位于不同文件夹中的单元的问题,例如

SomeSourceFolder/NotUniqueUnitName.pas
SomeThirdPartyFolder/NotUniqueUnitName.pas

要确定调试映射中提到了哪个文件,我需要该文件的绝对或相对路径。

有没有办法强制链接器输出源文件的路径?或者你能建议任何其他方法来获取这些信息吗?

4

1 回答 1

0

有没有办法强制链接器输出源文件的路径?

不。

目前,我遇到了具有相同名称但位于不同文件夹中的单元的问题。

我不相信会是这样。除非我大错特错,否则 Delphi 不会链接两个具有相同名称的不同单元。

但也许这不是问题所在。也许问题是您不知道正在链接哪个文件。我的建议是不要依赖搜索路径,而是包含项目中需要的所有文件。这样您就可以确定使用的是哪个文件。

于 2015-10-09T10:14:23.637 回答