跳转至

打印调试字符串

OutputDebugString() 是可用于向调试器控制台打印日志消息的 Windows API 函数。如果没有调试器,函数会返回错误代码。但如果有调试器,函数返回时没有错误代码。以下是你如何用这个函数做简单的调试器检查:

inline bool CanCallOutputDebugString() {
    SetLastError(0);
    OutputDebugStringA("test");
    return (GetLastError() == 0);
}

与 CheckRemoteDebuggerPresent() 方法一样,这个方法非常直接,但调试器也非常容易规避它。