C# で、デバッガ検知する方法が無いか調べてみたところ標準で用意されているみたいなのでテスト。
kernel32.dll
に IsDebuggerPresent
関数があるのは知ってましたが、扱える自信がなかったので…
System.Diagnostics.Debugger.IsAttached を使うみたいです。
True/False で返してくれるので簡単ですね。
using System;
using System.Diagnostics;
namespace Debugger_Test
{
class Program
{
static void Main(string[] args)
{
if (Debugger.IsAttached)
{
Console.WriteLine("Debugger Attached.");
}
else
{
Console.WriteLine("No Debugger.");
}
Console.ReadLine();
}
}
}