C# Debugger.IsAttached 调试启动浏览器 VS if DEBUG 启动调试内容
1. 程序集
Debugger:调试类
引用集:System.Diagnostics.Debug.dll
2. 方法使用
1.调用系统默认的浏览器方法:
//调用系统默认的浏览器 System.Diagnostics.Process.Start("http://blog.csdn.net/testcs_dn");
2. Debugger.IsAttached 调试启动浏览器
if (Debugger.IsAttached) { System.Diagnostics.Process.Start($"{baseAddress}/swagger"); //调试启动浏览器 }
3.if DEBUG 启动调试内容
#if DEBUG string baseAddress = "http://localhost:9000/"; #endif
3. 项目使用实例
4. #if DEBUG VS System.Diagnostics.Debugger.IsAttached
在Visual Studio中使用#if DEBUG
和System.Diagnostics.Debugger.IsAttached
在Visual Studio中有什么区别?是否存在DEBUG
设置了标志但没有附加调试器的情况,或者在DEBUG
未设置标志的情况下可以附加调试器的情况?
#if DEBUG:
① 是编译时检查,这意味着它所包含的代码仅在
DEBUG
定义了预处理器符号的情况下才会包含在输出程序集中;
② 确保在发布版本中根本不将代码包含在程序集中。此外,所包含的代码
#if DEBUG
始终在调试版本中运行-不仅仅是在调试器下运行时。
Debugger.IsAttached:
①是运行时检查,因此调试代码仍包含在程序集中,但仅在将调试器附加到进程时才执行;
② 表示无论调试还是发布版本都包含代码。并且可以将调试器附加到发行版。
5. 参考资料
① C#调用默认浏览器打开网页的几种方法:https://blog.csdn.net/testcs_dn/article/details/42246969
② #if(DEBUG)VS System.Diagnostics.Debugger.IsAttached:https://stackoverflow.com/questions/7073266/if-debug-vs-system-diagnostics-debugger-isattached
我是一个爱笑,认真记录每一天进步的博主.
转载请注明出处,商用请征得作者本人同意,谢谢!!!