【C#学习笔记】【StackTrace】

c#关于Diagnostics的StackFrame类的理解 在做项目的过程中无意中看到了在使用日志的过程中用到了StackFrame这个类,StackFrame frame = new StackFrame(1);在这行代码中有一个1,这里有一个1始终不理解,查看fcl的官方解释: // // 摘要: // 初始化与当前堆栈帧之上的帧对应的 System.Diagnostics.StackFrame 类的新实例。 ... 阅读详情

C#学习笔记系列

第一章 【C#学习笔记】【StackTrace】



前言

使用StackTrace类来获取调用方法的堆栈信息。


一、StackTrace介绍

  1. 其中调用GetFrame得到栈空间,参数index 表示栈空间的级别,0表示当前栈空间,1表示上一级的栈空间,依次类推;
  2. 除了可以获取方法信息外,还可以调用StackFrame类的成员函数,在运行时得到代码的文件信息及行号和列号等;
  3. 利用StackTrace 属性获得错误的函数被调用的堆栈信息,以及文件的位置(文件名,行号),并将错误信息保存在一个.config的文件里;
  4. 如果是try{}catch(Exception ex){},是可以通过ex.StackTrace()直接获取到堆栈信息,但如果是其他场景,就需要通过下面的代码来获取了。

二、使用方法

代码如下(示例):

public static StringBuilder OutputCallStack()
{
   
   
    StringBuilder stackStrs = new StringBuilder(
C# StackTrace跟踪代码执行 想找下代码是哪个页面调用的,存下来后面用, 也可以打印出整个执行过程 StackTrace st = new StackTrace(); StackFrame[] sf = st.GetFrames(); string page = null; for (int i = 0; i < sf.Length; i++) { System.Reflection.MethodBase mb = sf[i].GetMethod(); Console.WriteLine(mb.Decla 阅读详情

相关推荐

【C#学习笔记】【Interface】

在C#的编程中,类是我们每天都会接触到的,但是对于初学者来说,接口就比较陌生了,也许入门学习时有学过,但是经过工作实践,部分新人就会发现,基本不会去用到接口,但是看大神源码,又是处处都有影踪,那么接口到底是什么呢?接下来学习接口(Interface)的概念,接口是什么,怎么使用接口,重点是为什么要使用接口。

Aflashstar的博客 529

c# 方法调用链System.Diagnostics.StackTrace

一般用下面的方法处理: /// /// 获取调用链上的方法 /// /// 回朔深度 public static MethodBase GetCurrentMethod(int depth) { try { System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(); r

每天进步一点点 6941

Exception 的 StackTrace 信息的丢失

    今天从CodeGuru上看到了一片文章Throwing Exceptions: Will You be Able to Catch What You Expect?   做了一个实验,现在贴出程序和运行效果:实验一: ExeceptionCatch 中的 catch块直接使用throw ex  static void Main(string[] args)       

Leo's WorkShop 1456

C# 使用StackFrame和StackTrace类 获取当前函数名,当前代码行,源代码文件

https://docs.microsoft.com/zh-cn/dotnet/api/system.diagnostics.stackframe?view=netframework-3.0 https://docs.microsoft.com/zh-cn/dotnet/api/system.diagnostics.stacktrace?view=netframework-3.0 测试代码如下: using System; using System.Collections.Ge...

weixin_43885532的博客 1290

C#异常处理进阶:精准获取错误行号的通用方案

在软件开发中,快速定位异常发生的代码行号是调试的关键环节。C# 的异常处理机制提供了`StackTrace`属性用于记录调用堆栈,但直接解析该字符串需要考虑语言环境、格式差异等问题。本文将从基础方法出发,逐步讲解如何实现跨语言、高兼容性的错误行号获取方案,并扩展更多实用调试技巧。

Amon的专栏 1394

asp.net(c#)的异常处理,StackTrace说明,获得错误位置

利用 Exception 的StackTrace 属性获得错误的文件的位置(文件名,行号),并将错误信息保存在一个.config的文件里,内容有: 如何获取错误 如何获取错误的位置,多层开发时,在类用应用此法方便查错 如保获取站点的绝对路径 如何保存和创建文件 如何在web.config中设置参数及如何访问这个参数 本程序适用于asp.net 新手!

surfer10与Arcgis10.3 完美生成等值线和等值面方法

surfer10 与Arcgis10.3生成等值线和等值面的步骤如下: 1.准备surfer用的Book1.dat文件,格式如下: "x" "y" "z" 116.471992 40.809975 232 116.335556 40.700542 1235 116.541626 40.713333 214 116.73349 40.798607 566 2.在surfer中,选择Gr

哈里·雪利博客 1万+

SystemVerilog新手实战指南:iverilog与VScode的完美组合

本文为SystemVerilog新手提供了一套高效入门方案,详细介绍了如何利用开源编译器iverilog与轻量编辑器VScode搭建学习环境。内容涵盖十分钟快速安装配置、首个工程从编码到查看波形的完整流程,并演示了动态数组和队列等SystemVerilog新特性的使用,旨在帮助初学者避开复杂商业工具,快速掌握数字电路设计与验证的核心技能。

f6g7h8i9j的博客 513

国内网络环境下Calico v3.26.4安装避坑指南(附华为云镜像加速脚本)

本文为国内开发者提供Calico v3.26.4的高效部署指南,重点介绍如何通过华为云镜像加速服务解决Kubernetes集群网络插件镜像拉取问题。文章包含详细的镜像加速脚本、部署清单修改方法及深度排错技巧,帮助开发者快速完成Calico网络插件的安装与配置。

brown的博客 288

面试复习题--RN面试

考察点:热更新方案的深度理解,选型能力,实战落地经验。答题思路主流热更新方案对比。

hqiangtai的博客 723

Win10家庭版没有Hyper-V?教你一招轻松解决(含避坑指南)

本文详细介绍了在Win10家庭版中启用Hyper-V的完整实战指南。通过DISM工具链绕过系统版本限制,无需重装系统即可完整启用所有Hyper-V组件,适用于开发者测试多系统环境和安全隔离应用场景。文章包含详细操作步骤、常见问题解决方案及性能优化配置,帮助用户轻松解决Win10家庭版没有Hyper-V的问题。

weixin_29239661的博客 495

vasp-自旋轨道耦合(SOC)计算步骤

在VASP中执行自旋轨道耦合(SOC)计算,具体的计算步骤如下: 结构优化获取CONTCAR文件 自洽计算(collinear normal VASP calculations)获取IBZKPT,CHGCAR和WAVECAR文件。 SCF+SOC计算,在此步骤中,将步骤2中的IBZKPT复制为KPOINTS,以便两个步骤具有相同的k网格,因此可以读取步骤2中的CHGCAR和WAVECAR文件。 能带结构计算,在此步骤中,将KPOINTS改为高对称点,读取步骤3中的CHGCAR和WAVECAR文件。

懒散的鱼与消失的猫 3万+

Python爬虫实战:使用最新技术抓取采购网招标公告信息

本文将详细介绍如何使用Python最新爬虫技术构建一个高效的采购网招标公告信息抓取系统。我们将从爬虫基础概念讲起,逐步深入到高级技巧,包括异步处理、反爬虫对策、数据解析与存储等,并提供完整的代码实现。本文旨在为读者提供一套完整的网络数据采集解决方案,适用于各类政府采购平台和商业招标网站。网络爬虫(Web Crawler)是一种自动抓取互联网信息的程序或脚本,它们按照一定的规则,自动地浏览万维网并提取所需数据。在现代商业环境中,爬虫技术广泛应用于价格监控、竞争情报收集、市场研究等领域。

2201_76125261的博客 1620

优秀的 Verilog/FPGA开源项目介绍(六)- MIPI

MIPI的协议我就不详细介绍了(可以查看<下面的二维码>),这里和开源方案比较接近的即使FPGA实现MIPI物理层(DPHY)中电气属性相关的几种方案:MIPI DPHY RX...

OpenFPGA的博客 4455

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: Markdown编辑器使用示例
下一篇: Synergy配置说明
Aflashstar
博客等级 码龄12年 205粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值