C# Debugger.IsAttached 调试启动浏览器 VS if DEBUG 启动调试内容
1. 程序集
Debugger:调试类
引用集:System.Diagnostics.Debug.dll
2. 方法使用
1.调用系统默认的浏览器方法:
1 2 | //调用系统默认的浏览器 System.Diagnostics.Process.Start( "http://blog.csdn.net/testcs_dn" ); |
2. Debugger.IsAttached 调试启动浏览器
1 2 3 4 | if (Debugger.IsAttached) { System.Diagnostics.Process.Start($ "{baseAddress}/swagger" ); //调试启动浏览器 } |
3.if DEBUG 启动调试内容
1 2 3 | #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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器