使用Delphi for MacOS的OutputDebugString()

Ive*_*aev 5 delphi nslog outputdebugstring delphi-xe2 firemonkey

Delphi OSX单元中是否有NSLog声明.我没能在Firemonkey应用程序中找到OutputDebugString的替代品.

最终解决方案如下所示:

/// <remarks>
/// Output debug string. Output debug string can be seen in Delphi
/// View|Debug Windows|Event Log or with 3-rd party programs such as
/// dbgview.exe from SysInternals (www.sysinternals.com)
/// </remarks>
procedure ODS(const Text: string);
begin
  {$IFDEF MACOS}
  // http://stackoverflow.com/questions/12405447/outputdebugstring-with-delphi-for-macosunit unt_Debug;
  Log.d(Text);
  {$ENDIF}
  {$IFDEF LINUX}
  __write(stderr, AText, Length(AText));
  __write(stderr, EOL, Length(EOL));
  {$ENDIF}
  {$IFDEF MSWINDOWS}
  OutputDebugString(PWideChar(Text));
  {$ENDIF}
end;
Run Code Online (Sandbox Code Playgroud)

JRL*_*JRL 5

在Firemonkey中,在事件日志中显示消息的可移植方式是Log.d:

    uses FMX.Types;

    ...

    Log.d('debugging');
Run Code Online (Sandbox Code Playgroud)

我认为它可以从XE3开始提供.