我想在调试项目时使用函数DateTimeToStr
。我想使用评估/修改窗口或监视窗口。这总是会导致错误“链接器消除了功能”。
我确保项目使用了该函数(我还在我想调试的函数中显式调用了),同时我关闭了优化并重新编译了整个项目。
答案 0 :(得分:6)
我做了以下计划
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
。虽然在我的测试中,函数调用实际上并没有内联。