我想使用该功能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.
也许问题在于该函数被声明为inline
。尽管在我的测试中,函数调用实际上并未被内联。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)