我知道您可以使用 确定是否附加了调试器System.Diagnostics.Debugger.IsAttached
,但是有没有办法确定是否附加了探查器?
我的分析器无法通过线程池跟踪任务,所以我想在分析时自动禁用并行性。
对于标准分析器接口,需要设置环境变量。
我想你可以通过Environment
课堂检查这个。
该变量被调用COR_ENABLE_PROFILING
,如果启用,将设置为1
。
无论是调试还是发布版本,都包含 Debugger.IsAttached 代码。并且可以将调试器附加到发布版本。
因此 System.Diagnostics.Debugger.IsAttached
,如果没有附加调试器(或分析器),将返回 False。
注意:我不确定 SlimTune 但您倾向于附加到进程的 Profiler:如何:将 Profiler 附加和分离到正在运行的进程
DIAGHUB_SESSION_ID
对于那些感兴趣的人,您似乎可以通过检查环境变量的存在来检测您的进程是否正在由 Visual Studio 的诊断中心(至少在 Visual Studio 2017 中)进行分析。