我想DateTimeToStr
在调试项目时使用该功能。我想使用评估/修改窗口或监视窗口。这总是会导致错误“链接器消除的功能”。
我确保该函数被项目使用(我还在我要调试的函数中显式调用),我也关闭了优化并重新编译了整个项目。
我想DateTimeToStr
在调试项目时使用该功能。我想使用评估/修改窗口或监视窗口。这总是会导致错误“链接器消除的功能”。
我确保该函数被项目使用(我还在我要调试的函数中显式调用),我也关闭了优化并重新编译了整个项目。
我做了以下程序
program WhereDidItGo;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
DateTimeToStr(0.0);
end.
并准确找到了您报告的内容。评估/修改窗口报告该功能已被消除。诡异的。
无论如何,我尝试了这个,这似乎足以欺骗它。
program WhyDoesThisSolveTheOddity;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
FunctionPtr: function(const DateTime: TDateTime): string;
VarFalse: Boolean;
begin
if VarFalse then
FunctionPtr := @DateTimeToStr;
end.
也许问题在于该函数被声明为 being inline
。尽管在我的测试中,函数调用实际上并没有被内联。