是否有方法检测附加的调试器是否为远程调试器
本文关键字:调试器 是否 有方法 检测 | 更新日期: 2023-09-27 18:16:19
使用System.Diagnostics.Debugger.Debugger.IsAttached
,我可以告诉调试器是附加的。是否有一种方法来检测是否附加的调试器是远程调试器(Visual Studio Remote Debugger Monitor
)?
您可以从kernel32.dll
中使用本机CheckRemoteDebuggerPresent
CheckRemoteDebuggerPresent中的"remote"并不意味着调试器必须驻留在另一台计算机上;相反,它指示调试器驻留在单独的并行中。。
你可以这样使用:
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
static extern bool CheckRemoteDebuggerPresent(IntPtr hProcess, ref bool isDebuggerPresent);
public static void Main()
{
bool isDebuggerPresent = false;
CheckRemoteDebuggerPresent(Process.GetCurrentProcess().Handle, ref isDebuggerPresent);
Console.WriteLine(string.Format("Debugger Attached: {0}", isDebuggerPresent));
Console.ReadLine();
}