Is my application being debugged ?

How to tell if your code is being run in debug mode.

I found this code somewhere on the Internet, I cannot remember the source so I cannot credit the original author.



function DebuggerPresent: boolean;

type

  TDebugProc = function: boolean; stdcall;

var

  Kernel32: HMODULE;

  DebugProc: TDebugProc;

begin

  Result := False;

  Kernel32 := GetModuleHandle('kernel32.dll');

  if Kernel32 <> 0 then

  begin

    @DebugProc := GetProcAddress(Kernel32, 'IsDebuggerPresent');

    if Assigned(DebugProc) then

      Result := DebugProc;

  end;

end;

 

Share this article!

Follow us!

Find more helpful articles: