Questions tagged «stack-trace»

在程序执行期间某个时间点的活动堆栈帧的报告。

4
相当于e.printStackTrace的python
我知道print(e)(其中e是一个异常)会打印发生的异常,但是,我试图找到与Java等效的python,e.printStackTrace()它可以将异常确切地跟踪到发生的那一行,并打印出整个轨迹。 谁能告诉我e.printStackTrace()Python 的等效功能吗?

15
C ++显示堆栈异常跟踪
如果抛出异常,我想有一种向用户报告堆栈跟踪的方法。做这个的最好方式是什么?是否需要大量的额外代码? 回答问题: 我希望它可以携带。我希望弹出信息,因此如果出现错误,用户可以复制堆栈跟踪并通过电子邮件发送给我。


9
如何获得红宝石来打印完整的回溯记录而不是被截断的回溯记录?
当我得到异常时,通常是在调用堆栈的深处。发生这种情况时,我通常隐藏了真正令人讨厌的代码行: tmp.rb:7:in `t': undefined method `bar' for nil:NilClass (NoMethodError) from tmp.rb:10:in `s' from tmp.rb:13:in `r' from tmp.rb:16:in `q' from tmp.rb:19:in `p' from tmp.rb:22:in `o' from tmp.rb:25:in `n' from tmp.rb:28:in `m' from tmp.rb:31:in `l' ... 8 levels... from tmp.rb:58:in `c' from tmp.rb:61:in `b' from tmp.rb:64:in `a' from tmp.rb:67 “ ... 8个级别...”的截断给我带来了很多麻烦。我对此没有太大的成功:我如何告诉ruby我希望转储包括整个堆栈?


14
“软件导致连接中止:套接字写入错误”的官方原因
给定此堆栈跟踪代码段 引起原因:java.net.SocketException:软件导致连接中止: java.net.SocketOutputStream.socketWrite0(本地方法)处的套接字写入错误 我试图回答以下问题: 哪些代码引发此异常?(JVM?/ Tomcat?/我的代码?) 是什么导致引发此异常? 关于#1: Sun的JVM源代码不包含此确切消息,但我认为文本软件导致连接中止:套接字写入错误来自的本机实现SocketOutputStream: private native void socketWrite0(FileDescriptor fd, byte[] b, int off, int len) throws IOException; 关于#2 我的猜测是,这是由于客户端在获得完整响应之前终止连接而引起的(例如,发送了一个请求,但是在获得完整响应之前,它已关闭/终止/脱机) 问题: 以上假设是否正确(#1和#2)? 是否可以与以下情况区别开来:“由于服务器端发生网络错误而无法写入客户端”?还是会呈现相同的错误消息? 最重要的是:是否有正式文件(例如来自Sun的文件)说明上述内容? 我需要证明此堆栈跟踪是套接字客户端的“故障”,并且服务器无法做任何事情来避免它。(捕获异常或使用非Sun JVM SocketOutputStream除外,尽管两者都不能真正避免客户端已终止的事实)

11
如何将堆栈跟踪发送到log4j?
假设您执行e.printStackTrace(),则捕获到一个异常并在标准输出(例如控制台)上获得以下内容: java.io.FileNotFoundException: so.txt at java.io.FileInputStream.<init>(FileInputStream.java) at ExTest.readMyFile(ExTest.java:19) at ExTest.main(ExTest.java:7) 现在,我想将其发送给log4j之类的记录器,以获取以下信息: 31947 [AWT-EventQueue-0] ERROR Java.io.FileNotFoundException: so.txt 32204 [AWT-EventQueue-0] ERROR at java.io.FileInputStream.<init>(FileInputStream.java) 32235 [AWT-EventQueue-0] ERROR at ExTest.readMyFile(ExTest.java:19) 32370 [AWT-EventQueue-0] ERROR at ExTest.main(ExTest.java:7) 我怎样才能做到这一点? try { ... } catch (Exception e) { final String s; ... // <-- What goes here? log.error( s …

2
如何在Javascript中抛出异常,但保留堆栈?
在Javascript中,假设我想在发生异常时执行一些清除操作,但是让异常继续在堆栈中传播,例如: try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); 此代码的问题在于,捕获并重新抛出异常会导致丢失到该点的堆栈跟踪信息,因此,如果随后再次捕获到异常,则该堆栈跟踪在堆栈的较高位置,则堆栈跟踪只会下降到-扔。这很烂,因为这意味着它不包含实际引发异常的函数。 事实证明,try..finally在至少Chrome中具有相同的行为(也就是说,精确地不是问题是重新抛出,而是所有异常处理程序块的存在。) 有谁知道一种在Java中重新抛出异常但保留与之关联的堆栈跟踪的方法吗?失败了,如何建议其他方法来添加异常安全的清理处理程序,同时在发生异常时捕获完整的堆栈跟踪信息? 感谢您的任何指点:)

12
构建Android Studio项目时如何添加Stacktrace或调试选项
我正在尝试调查控制台输出中的项目生成错误,如下所示: :myapp:processDebugResources FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugResources'. ... ... * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 我怀疑这与资源未找到错误有关。我的问题是,在IDE级别上,我如何添加--stacktrace或--debug选择以便它可以产生更多信息供我调试?

7
在发布模式下在.NET程序集的堆栈跟踪中显示行号
有没有一种方法可以显示在发布模式下以.NET程序集构建/部署的堆栈跟踪中的行? 更新: 我的应用程序分为三个类库项目和一个ASP.NET“网站”项目。我尝试查找的错误是在三个类库项目之一中。我只为生成“对象引用未设置为对象实例”错误的类库项目部署了pdb文件。 行号仍未显示在堆栈跟踪中。我是否需要为所有项目部署pdb文件才能在堆栈跟踪中获取行号? 工作方案 为每个应用程序部署pdb文件解决了行号问题。

3
在不引发异常的情况下获取Ruby中的当前堆栈跟踪
我想在Rails 3应用中记录当前回溯(stacktrace),而不会发生异常。任何想法如何? 我为什么要这个?我正在尝试跟踪Rails寻找模板时所进行的调用,以便可以选择要覆盖的过程的一部分(因为我想更改我的特定子类控制器的视图路径)。 我想从文件中调用它:gems\actionpack-3.2.3\lib\action_dispatch\middleware\templates\rescues\missing_template.erb。我知道这不是最佳做法,但我知道它在搜索模板的堆栈的下游。
139 ruby  stack-trace 

10
为什么将exception.printStackTrace()视为不良做法?
有一个很大的材料了有这表明印刷异常的堆栈跟踪是不好的做法。 例如从Checkstyle中的RegexpSingleline检查: 可以使用此检查来查找常见的不良做法,例如调用ex.printStacktrace() 但是,我正在努力寻找能够给出正当理由的任何地方,因为肯定可以使堆栈跟踪对于跟踪导致异常的原因非常有用。我知道的事情: 最终用户永远不应看到堆栈跟踪(出于用户体验和安全目的) 生成堆栈跟踪是一个相对昂贵的过程(尽管在大多数“例外”情况下这不太可能成为问题) 许多日志记录框架都会为您打印堆栈跟踪记录(我们不这样做,不行,我们无法轻松更改它) 打印堆栈跟踪不构成错误处理。它应与其他信息记录和异常处理结合在一起。 还有什么其他原因可以避免在代码中打印堆栈跟踪?

8
Java / Android-如何打印完整的堆栈跟踪?
在Android(Java)中,如何打印完整的堆栈跟踪记录?如果我的应用程序因nullPointerException或其他原因而崩溃,它将打印出(几乎)完整的堆栈跟踪,如下所示: java.io.IOException: Attempted read from closed stream. com.android.music.sync.common.SoftSyncException: java.io.IOException: Attempted read from closed stream. at com.android.music.sync.google.MusicSyncAdapter.getChangesFromServerAsDom(MusicSyncAdapter.java:545) at com.android.music.sync.google.MusicSyncAdapter.fetchDataFromServer(MusicSyncAdapter.java:488) at com.android.music.sync.common.AbstractSyncAdapter.download(AbstractSyncAdapter.java:417) at com.android.music.sync.common.AbstractSyncAdapter.innerPerformSync(AbstractSyncAdapter.java:313) at com.android.music.sync.common.AbstractSyncAdapter.onPerformLoggedSync(AbstractSyncAdapter.java:243) at com.google.android.common.LoggingThreadedSyncAdapter.onPerformSync(LoggingThreadedSyncAdapter.java:33) at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:164) Caused by: java.io.IOException: Attempted read from closed stream. at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:148) at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:159) at java.util.zip.GZIPInputStream.readFully(GZIPInputStream.java:212) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:81) at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:64) at android.net.http.AndroidHttpClient.getUngzippedContent(AndroidHttpClient.java:218) at com.android.music.sync.api.MusicApiClientImpl.createAndExecuteMethod(MusicApiClientImpl.java:312) …


3
如何在异常中打印完整的堆栈跟踪?
例如,在一处... //---------------a try { // some network call } catch(WebException we) { throw new MyCustomException("some message ....", we); } 在另一个地方 //--------------b try { // invoke code above } catch(MyCustomException we) { Debug.Writeline(we.stacktrace); // <---------------- } 我打印的stacktrace,它仅从a开始到b,它不包括WebException中的内部stacktrace。 我如何打印所有的堆栈跟踪?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.