打印调试字符串¶
OutputDebugString() 是可用于向调试器控制台打印日志消息的 Windows API 函数。如果没有调试器,函数会返回错误代码。但如果有调试器,函数返回时没有错误代码。以下是你如何用这个函数做简单的调试器检查:
inline bool CanCallOutputDebugString() {
SetLastError(0);
OutputDebugStringA("test");
return (GetLastError() == 0);
}
与 CheckRemoteDebuggerPresent() 方法一样,这个方法非常直接,但调试器也非常容易规避它。