console.trace()在控制台上输出结果.
我想将结果作为字符串并将它们保存到文件中.
我没有为函数定义名称,我也无法得到它们的名字callee.caller.name.
假设myapp/foo.py包含:
def info(msg):
caller_name = ????
print '[%s] %s' % (caller_name, msg)
Run Code Online (Sandbox Code Playgroud)
并myapp/bar.py包含:
import foo
foo.info('Hello') # => [myapp.bar] Hello
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我希望caller_name将其设置为__name__调用函数模块的属性(即'myapp.foo').如何才能做到这一点?
有没有办法在node.js堆栈错误中获得超过10行?
function a() { dieInHell(); }
function b() { a(); }
function c() { b(); }
function d() { c(); }
function e() { d(); }
function f() { e(); }
function g() { f(); }
function h() { g(); }
function i() { h(); }
function j() { i(); }
function k() { j(); }
function l() { k(); }
function m() { l(); }
function n() { m(); }
function o() { n(); }
function p() { o(); …Run Code Online (Sandbox Code Playgroud) 我知道没有标准的C函数来做到这一点.我想知道Windows和*nix上的技术是什么?(Windows XP是我现在最重要的操作系统.)
是否有一个与Java相同的C#方法,Exception.printStackTrace()或者我是否必须自己编写一些东西,通过InnerExceptions工作?
我Couldn't load memtrack module (No such file or directory) failed to load memtrack module: -2在运行时收到错误.
StackTrace错误:
E/SoundPool(1280) : error loading /system/media/audio/ui/Effect_Tick.ogg
E/SoundPool(1280) : error loading /system/media/audio/ui/KeypressStandard.ogg
E/SurfaceFlinger(931) : glCheckFramebufferStatusOES error 733995180
E/memtrack(1873) : Couldn't load memtrack module (No such file or directory)
E/android.os.Debug(1873): failed to load memtrack module: -2
E/libEGL(931) : called unimplemented OpenGL ES API
E/libEGL(931) : called unimplemented OpenGL ES API
E/libEGL(931) : called unimplemented OpenGL ES API
E/libEGL(931) : called unimplemented OpenGL ES API
E/SurfaceFlinger(931) …Run Code Online (Sandbox Code Playgroud) 我想在控制台中看到单元测试的堆栈跟踪.surefire是否支持这个?
在Java日志中很多次我会得到类似的东西:
Caused by: java.sql.BatchUpdateException: failed batch
at org.hsqldb.jdbc.jdbcStatement.executeBatch(jdbcStatement.java:1102)
at org.hsqldb.jdbc.jdbcPreparedStatement.executeBatch(jdbcPreparedStatement.java:514)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
... 113 more
Run Code Online (Sandbox Code Playgroud)
有谁知道如何显示完整的堆栈跟踪(即显示其他113行)?
Throwable 的JavaDocs(适用于Java 7)对发生的事情有一个非常详细的解释.
例如,我有一个像这样的堆栈跟踪:
java.lang.NullPointerException
abc.investxa.presentation.controllers.UnixServerJobController.handleRequest(UnixServerJobController.java:66)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
Run Code Online (Sandbox Code Playgroud)
那么这个例外的根本原因是什么?从堆栈跟踪中,我发现类中的doFilter函数存在问题OncePerRequestFilter!但是,当我在那里设置一个断点时,程序永远不会停在那个断点处.
谁能解释一下这个!?在一般情况下,我应该如何使用该堆栈案例进行调试(从下到上或从上到下阅读)!