stack-trace相关内容

如何我解决GetFrameContext失败的Windbg

我调试使用完整的崩溃转储和WinDBG的一个.NET 4.0的Web应用程序。我似乎能够得到的一切的所有版本但是相匹配,当我试图让我得到的线程的管理堆栈跟踪 操作系统线程ID:0x7cd4(13) 儿童SP IP呼叫网站 GetFrameContext失败:1 有关我所有的管理线程。任何想法,我做错了,我怎么能解决这个问题? 解决方案 我也收到这个错误,但我注意到,运行!DumpStack ..
发布时间:2015-11-28 10:49:52 .NET Framework

检查管理堆栈

一个.NET应用程序可以得到堆栈跟踪 A管理描述哪些方法被调用,并拥有对它们的引用,以得到他们的名字,令牌和签名,并在其中IL偏移在方法体中有人呼吁。但它不包含传递给每个方法的参数值。 参数值是在这个过程中的堆栈内存的某个地方肯定的,但是这是本地再presentation这可能有点不方便和联合国predictable评估。 也有管理堆栈,该CLR本质上执行,JIT编译器之前的数值。在MSIL ..
发布时间:2015-11-27 12:21:55 C#/.NET

我应该打印异常堆栈跟踪?

如何低效是它得到的堆栈跟踪的一个例外?我知道这是昂贵的,但如何昂贵?如果他们绝对的没有的在生产环境中使用? 解决方案 在生产环境中,这是有帮助的的登录的堆栈跟踪,以便用户可以找到它时,他们联系技术支持。打印堆栈跟踪到位的理解(由典型用户)消息,应尽量避免。 您不应该关心的是code特殊块的效率。错误恢复是最重要的事情在这里。 ..
发布时间:2015-11-27 11:02:29 C#/.NET

你可以得到抛出异常的方法叫什么名字?

有一个C#方法,它返回到最上面的来电,的名称我的方法抛出一个异常,即使在实际的异常被抛出另一个(例如数据库驱动程序错误时,我的方法调用它)? 号码 - >的MyMethod - > DbDriver(错误)的 我要“的MyMethod”,而不是“DbDriver”的 我宁愿不重新抛出异常一路攀升链。 我目前的杂牌组装电脑,是要遍历堆栈跟踪帧,并使用解析出我的方法 MethodBase.Ge ..
发布时间:2015-11-27 10:24:09 C#/.NET

如何得到正常执行.NET中的堆栈跟踪?

在VB .NET中,我知道我可以通过查看 ex.StackTrace 的价值得到一个堆栈跟踪处理异常的时候。我怎样才能在堆栈上的功能时,我没有处理异常?我希望实施某种形式的日志系统来记录用户系统崩溃之前采取的措施,协助调试。 解决方案 Environment.StackTrace 给你一个字符串,但更详细的信息和选项,使用堆栈跟踪类。 要更具体,检查出的构造函数选项: 如果您需要的堆栈 ..
发布时间:2015-11-26 20:44:05 C#/.NET

为什么我的异常堆栈踪迹始终指向最后一个方法行?

我有我的Visual Studio安装问题。当我得到了一个例外,我总是有不正确的行号,在它的堆栈跟踪。总有一些点在我的codeBase的每个方法的最后一行。同时,它的确定,当我与跟踪调试程序。什么是发梗与PDBS? 没有,我不是在每一种方法重新抛出异常。 在堆栈跟踪的每一行我有相应的方法最后一排,而除了已经通过的语句在中间抛出。 解决方案 听起来你正在运行在发行模式下的应用程序。发行方式与 ..
发布时间:2015-11-26 20:12:45 C#/.NET

是堆栈跟踪信息.NET发布模式构建可用?

如果我选择释放模式建立一个DLL,是堆栈跟踪信息,还有吗? 如果是这样,那么什么样的信息的是的发布模式不可用? 解决方案 您总是有堆栈跟踪信息 - 这是一个运行时功能无关的构建模式 - 但行号和源文件名是发行版本堆栈通常不可用痕迹。 您可以通过改变构建配置创建完整的程序数据库(.PDB)文件,同时获得行号和源文件名称的发布版本堆栈跟踪(包括例外)。要做到这一点在Visual Studio中 ..
发布时间:2015-11-26 16:22:51 C#/.NET

异常调用堆栈截断,没有任何重新投掷

我有一个不寻常的情况下,我有一个非常简单的异常越来越抛出陷入了同样的方法。 它不是重新抛出(通常这类问题幼稚程序员)。然而其的StackFrame仅包含一个当前方法。这里是什么样子: 在(我的班级).MyMethod()在C:\(我的文件路径和线路) 在现实中有可能是30的方法导致这一在VS2010调试器的调用堆栈,跨六七个不同的组件去。这似乎是不可能为所有已被优化掉。此外,该code是 ..
发布时间:2015-11-26 10:08:13 C#/.NET

C#相当于Java的Exception.printStackTrace()?

有一个C#等效方法Java的 Exception.printStackTrace()或做我必须写自己的东西,通过InnerExceptions工作我的方式? 解决方案 试试这个: Console.WriteLine(ex.ToString()); 从 的ToString的默认实现获取抛出当前异常的消息,调用toString对内部异常的结果,并呼吁Environment.Sta ..
发布时间:2015-11-26 00:03:56 C#/.NET

我怎样才能重新抛出内部异常,同时保持至今产生的堆栈跟踪?

的 复制:我有一些操作,我异步调用在后台线程。有时候,事情变坏。发生这种情况时,我往往会得到一个TargetInvocationException,其中,而相应的,还是蛮有用的。我真正需要的是TargetInvocationException的的InnerException,像这样的: 尝试 { 返回值= myFunctionCall.Invoke(目标参数); ..
发布时间:2015-11-25 23:23:14 C#/.NET

从用户错误报告的.NET创建具有行号的堆栈跟踪?

一,问题: 我有一些免费的项目,任何软件,它们包含错误。一些老乡用户时遇到的错误给我的一个错误,报告与堆栈跟踪。为了简化找茬的地方,我想看看行号在这个堆栈跟踪。如果应用程序没有运.pdb文件,那么所有的行信息会丢失,所以部署.pdb文件目前我所有的项目,这样产生的堆栈跟踪有这个数字。 但!但我不希望看到在发布本文件和要删除所有的.pdb。他们迷惑用户,占用空间,安装程序等。 德尔福的解决方案: ..
发布时间:2015-11-25 23:21:05 C#/.NET

如何在VB.net中的应用程序运行打印行数

我想打印出我的调试消息,在VB.net应用程序的行号。 我不喜欢这样, 昏暗ST作为堆栈跟踪 昏暗SF作为StackFramee ST =新的堆栈跟踪(新的StackFrame(真)) SF = st.GetFrame(0) 。Console.WriteLine(“线”和放大器; sf.GetFileLineNumber()) 我想把片段的一类,每次我打电话logMsg方法来记录我的消息 ..
发布时间:2015-11-25 16:05:39 C#/.NET

获取栈帧的运行时类型

我在想,如果有可能获得方法调用者的堆栈跟踪的运行时类型。 请看下面的例子: 类父 { 公共无效美孚() { VAR堆栈=新的堆栈跟踪(); 的foreach(在stack.GetFrames()VAR帧) { VAR MethodInfo的= frame.GetMethod(); ..
发布时间:2015-11-25 14:25:05 C#/.NET

堆栈跟踪信息preserving原始的源路径

我使用C#.NET应用程序的开发。 要记录和调试例外,我用的是堆栈跟踪。 我执行我的应用程序在另一台机器,但在发生错误,它指的是自己的计算机的路径。 例如:D:\项目\ xyz.CS线路班次:12 _Error_message_here。 为什么究的道路上我的发展的,即使我正在另一台计算机上的应用程序的机器路径? 解决方案 原始编译路径存储在PDB文件内的调试信息。 ..
发布时间:2015-11-25 13:56:15 C#/.NET

堆栈跟踪不正确的行号

为什么会堆栈跟踪显示“0行”,,但只在堆栈跟踪一帧 如: ... 在System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(的CommandBehavior行为) 在System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() 在My.LibraryA.Some.Met ..
发布时间:2015-11-25 13:25:29 C#/.NET

异常显示服务器的开发者的路径,而不是

当一个例外,任何ASP.NET项目(可能是任何.NET应用程序)时,堆栈跟踪将显示在开发人员的机器上的路径,即使是在生产的时候。 怎么改? 什么是引擎盖下怎么回事? 解决方案 此信息存储内源$ C ​​$ C编译过程中生成的.PDB文件。它们包含的调试信息。但一般人并不运输他们投入生产之前编写自己的机器上的应用程序。他们使用持续集成和构建是专门用于这一目的的服务器。 现在,如果你想关闭调 ..
发布时间:2015-11-24 21:18:05 C#/.NET

如何从堆栈跟踪参数值

从一个方法调用中我需要“跳”三层堆栈向上和检索传递给方法的参数的类型和值。 获取参数的类型是容易的,但我不能找到一个办法让传递到堆栈上一定的方法的价值。 VAR ST =新的堆栈跟踪(); 变种帧= st.GetFrames(); VAR methodParameters =帧[2] .GetMethod()GetParameters。 //获取每个参数值 请注意:使用堆栈跟踪不是强制 ..
发布时间:2015-11-24 20:19:15 C#/.NET

如何打印StackOverflowException的堆栈跟踪

我开发,其中一StackOverflowException发生的.Net 2.0应用程序。有没有一种方法来在应用程序中止前/打印/日志堆栈跟踪? 这是一个长期运行的服务器端的过程,将很难在调试器来执行。 我知道,StackOverflowException不能被抓住了。 解决方案 使用ADPlus的(从Windows调试工具),以迫使崩溃转储。 例如。 则ADPlus -hang -pn& ..
发布时间:2015-11-24 20:15:41 C#/.NET

如何获得的堆栈跟踪参数值

我可以通过堆栈跟踪使用像这样获得有关参数的信息: 赶上(例外前) { VAR ST =新的堆栈跟踪(前); 。System.Reflection.ParameterInfo PI = st.GetFrame(0).GetMethod()GetParameters()第一(); } 我想知道我是如何得到参数的值。例如: 如果我在堆栈跟踪的方法是这样的: 无效的MyM ..
发布时间:2015-11-24 20:05:39 C#/.NET

如何获得行号(收费)抛出的.NET异常的堆栈跟踪现身

MSDN说,这对异常的堆栈跟踪属性类: 堆栈跟踪属性包含堆栈 跟踪,你可以用它来确定 其中,在C错误的$ C $发生。 堆栈跟踪列出了所有的所谓的 是$ P $方法pceded异常 和源极中的行号 那里的电话发了言。 所以我知道这个信息是可用的。我如何获得的行号真正出现在堆栈跟踪?我的code是一个非常困难和复杂的一块code表示经过对象吨抛出一个异常,所以我不想步一个bazillion次 ..
发布时间:2015-11-24 16:19:50 C#/.NET