backtrace

    0热度

    2回答

    我想添加简单的崩溃记录到我的C++应用程序的Mac OS和Linux。我对backtrace_symbols输出不满意。我想采取任何backtrace()返回并手动构建堆栈跟踪(带有符号名称)。怎么做?我找不到一个示例,甚至没有解释backtrace()返回的结果。 UPD:发现this代码段,但它不会在OS X

    10热度

    1回答

    我一直在一个Big C++项目中工作,该项目有一个巨大的来源,大小接近300 MB,超过800个文件。当二进制崩溃时,我希望获得调用堆栈,所以我已经捕获了Signal并将来自backtrace_symbols的调用堆栈写入文件。但为了从backtrace_symbols获取符号名称,我已经使用链接器标志“-rdynamic”进行了编译。我想知道,使用'-rdynamic'会影响任何问题..? 我知

    4热度

    1回答

    rails console默认情况下启动context.back_trace_limit=16,只需输入context.back_trace_limit=n即可更改为任何您想要的值。问题是你每次启动时都必须输入rails c。我在哪里永久更改context.back_trace_limit?一些更多的阅读轨道控制台配置赞赏。

    3热度

    1回答

    不包括jQuery是有办法在发生异常时,排除了jQuery,AngularJS和其他库从调用堆栈(回溯)? 的问题是,如果一个函数在我的代码某处抛出一个异常,我无法从哪儿成了看,因为堆栈却与此内jQuery的功能调用。

    1热度

    2回答

    据我所知,有可能只获取当前线程内的部分来电/回溯信息; (在创建当前线程的线程中)之前的任何内容都会被截断。以下举例说明这一点。它创建了一个名为d线程的事实,a称为b,呼吁c,被切断: def a; b end def b; c end def c; Thread.new{d}.join end def d; e end def e; puts caller end a # => t

    7热度

    1回答

    虽然我可以在网上找到答案,但我不能。有没有什么区别?人们说,在引发异常的事件上会生成一个“回溯”,而堆栈跟踪是从应用程序启动到引发异常的时候的方法调用列表。如果我们认为堆栈跟踪是一个数组,那么最后一个元素就是抛出异常的方法。是否会出现反向追踪?在编程语言像Ruby,例如,如果我们有: begin raise 1 rescue p $!.backtrace ; p caller

    0热度

    1回答

    在Linux下运行的ARM平台上创建回溯时遇到奇怪的行为。有时回溯输出似乎被破坏,取决于在故障之前执行的代码。 这里是我的Crash.cpp代码: #include <cstdio> #include <execinfo.h> #include <unistd.h> #include <sys/syscall.h> #include <ucontext.h> const unsigne

    2热度

    2回答

    我希望在请求期间执行每个查询的回溯,这样我就可以找到它们来自哪里并减少计数/复杂度。 我正在使用this优秀的中间件片段来列出和时间查询,但我不知道它们来自哪里。 我探讨了django/db/models/sql/compiler.py,但显然获取django的本地版本并编辑该代码,我看不到如何锁定查询。有没有我可以使用的信号?它似乎有isn't a signal on every query。

    0热度

    1回答

    我正在用C编写一个记录库库,并且正在尝试使用addr2line来获得更好的回溯输出。为了做到这一点,我需要能够获得当前可执行文件的路径。目前我只关心linux,但也会为Mac OS支持拍摄。 对Linux的支持,我试图用readlink()和/proc/self/exe解决目前可执行文件的路径: static char** getPrettyBacktrace(void* addresses[],

    2热度

    1回答

    两段示例代码;第一部分C++代码调用到组件: /* test1.cc */ #include <stdio.h> extern "C" void blah(); extern "C" void stuff() { printf("This is a test\n"); } int main(int argc, char *argv[]) { blah();