Tag: 堆栈跟踪

以编程方式获取C#堆栈跟踪

可能重复: 如何在.NET中打印当前的堆栈跟踪,没有任何exception? 当引发exception时,其文本包含堆栈跟踪。 我可以以某种方式获得堆栈跟踪文本(包括文件和行)没有例外? public void f() { //blah string stacktrace = ???; //blah }

如何读取Objective-C栈跟踪

我有以下堆栈跟踪: 0 MyApp 0x000833a3 +[TFCrashHandler backtrace] + 26 1 MyApp 0x000836bd TFSignalHandler + 28 2 libsystem_c.dylib 0x33eac727 _sigtramp + 34 3 ??? 0x00000002 0x0 + 2 4 MyApp 0x000803f1 msgpack_unpack_next + 112 5 MyApp 0x0007faeb +[MessagePackParser parseData:] + 74 6 MyApp 0x0007f84b -[NSData(NSData_MessagePack) messagePackParse] + 26 7 MyApp 0x000254c3 +[Http get:params:cacheMins:msgPack:complete:] + 146 … 我想知道如何读取它: […]

Flash / ActionScript 3.0中的StackTrace

我想在我的代码的任何函数中看到堆栈跟踪,所以我做了这样的事情来调用它并打印堆栈跟踪: public function PrintStackTrace() { try { throw new Error('StackTrace'); } catch (e:Error) { trace(e.getStackTrace()); } } 我想知道是否有其他方式来做到这一点。 在某些地方,Error类会创build堆栈跟踪,但也许它不会使用ActionScript 3.0来实现,所以也许这不是可行的,但是我想知道。 谢谢!

我可以在PowerShell中获得详细的exception堆栈跟踪吗?

运行这样的脚本: 1: function foo() 2: { 3: bar 4: } 5: 6: function bar() 7: { 8: throw "test" 9: } 10: 11: foo 我懂了 test At C:\test.ps1:8 char:10 我可以得到一个详细的堆栈跟踪吗? At bar() in C:\test.ps1:8 At foo() in C:\test.ps1:3 At C:\test.ps1:11

打印Python堆栈跟踪没有例外被提出

我的一个类的实例variables发生了一些事情。 我想让variables成为一个属性,每当它被访问的时候,我想打印出所有代码的堆栈跟踪,所以我可以看到它被混淆了。 当没有exception提出时,如何打印出堆栈跟踪? 我知道是否有例外,我可以做一些像traceback.format_tb(sys.exc_info()[2]) 。 另外可能有用的是只打印最后的3-4个级别,因为前几个可能不会那么有趣。

使用NLogloggingexception时如何获取堆栈跟踪?

当我使用NLog的默认布局时,它只打印exception的名称。 我已经被告知log4jxmlevent布局不会打印任何exception。 什么布局会帮助我? 示例代码: try { throw new SystemException(); } catch (Exception ex) { logger.Error("oi", ex); } 默认布局输出: 2011-01-14 09:14:48.0343|ERROR|ConsoleApplication.Program|oi log4jxmlevent输出: <log4j:event logger="ConsoleApplication.Program" level="ERROR" timestamp="1295003776872" thread="9"> <log4j:message>oi</log4j:message> <log4j:NDC /> <log4j:locationInfo class="ConsoleApplication.Program" method="Void Main(System.String[])" file="C:\Users\User\Documents\Visual Studio 2010\Projects\ConsoleApplication\ConsoleApplication\Program.cs" line="21" /> <nlog:eventSequenceNumber>3</nlog:eventSequenceNumber> <nlog:locationInfo assembly="ConsoleApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <log4j:properties> <log4j:data name="log4japp" value="true" /> <log4j:data name="log4jmachinename" value="MACHINE" /> </log4j:properties>

Xcode完整的堆栈跟踪

而无论如何,debugging是看到一个完整的堆栈跟踪,在主线程中调用的方法列表。 或者以任何方式在命令窗口中打印它们。

重新提高Pythonexception并保留堆栈跟踪

我试图捕捉一个线程中的exception,并重新在主线程中提出: import threading import sys class FailingThread(threading.Thread): def run(self): try: raise ValueError('x') except ValueError: self.exc_info = sys.exc_info() failingThread = FailingThread() failingThread.start() failingThread.join() print failingThread.exc_info raise failingThread.exc_info[1] 这基本上工作,并产生以下输出: (<type 'exceptions.ValueError'>, ValueError('x',), <traceback object at 0x1004cc320>) Traceback (most recent call last): File "test.py", line 16, in <module> raise failingThread.exc_info[1] 但是,例外的来源指向第16行,在那里发生了重新抬头。 原来的exception来自第7行。我如何修改主线程,以便输出结果如下: Traceback (most recent call last): File […]

如何使用gcc和行号信息来获得C ++的堆栈跟踪?

我们在像macros这样的专有assert使用堆栈跟踪来捕捉开发人员的错误 – 当错误被捕获时,堆栈跟踪被打印。 我发现gcc的对backtrace() / backtrace_symbols()方法不够: 名字被打乱 没有线路信息 第一个问题可以通过abi :: __ cxa_demangle解决。 然而第二个问题更加困难。 我find了backtrace_symbols()的替代品 。 这比gcc的backtrace_symbols()更好,因为它可以检索行号(如果使用-g编译),并且不需要使用-rdynamic进行编译。 Hoverer的代码是GNU许可的,所以恕我直言,我不能在商业代码中使用它。 任何build议? PS gdb能够打印出传递给函数的参数。 可能它已经太多要求:) PS 2 类似的问题 (谢谢nobar)

从C#打印堆栈跟踪信息

作为我们产品中某些error handling的一部分,我们想转储一些堆栈跟踪信息。 然而,我们体验到,许多用户只是截取错误消息对话框的屏幕截图,而不是向我们发送程序中提供的完整报告的副本,因此我想在此对话框中提供一些最小的堆栈跟踪信息。 我的机器上的.NET堆栈跟踪如下所示: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize) at […]