backtrace相关内容

是否可以在不惊慌的情况下在 Rust 中打印回溯?

是否可以在不惊慌的情况下打印回溯(假设启用了 RUST_BACKTRACE)?似乎唯一的方法是通过 panic! 调用.如果不是,有什么原因吗? 解决方案 Rust 使用 backtrace crate 来在发生恐慌时打印回溯(已在 PR #60852 中合并). 一个简单的例子可以在 crate 文档中找到 使用 backtrace::Backtrace;fn 主(){让 bt ..
发布时间:2021-07-13 21:10:47 其他开发

永久设置 rails 控制台堆栈回溯限制

rails 控制台 默认使用 context.back_trace_limit=16 启动,只需输入 context.back_trace_limit=n 即可更改为您想要的任何内容代码>.问题是每次启动 rails c 时都必须输入它.我在哪里永久更改 context.back_trace_limit ?阅读更多有关 rails 控制台配置的文章表示赞赏. 解决方案 您必须使用以下内容创 ..
发布时间:2021-07-12 19:13:59 其他开发

如何缩短 RSpec 2 中测试失败的回溯?

当我的规格出现错误时,我收到如下消息: 供应商应拒绝重复名称失败/错误:user_with_duplicate_email.should_not be_valid预期有效?返回假,得到真#/home/kevin/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/gems/rspec-expectations-2.3.0/lib/rspec/expectations ..
发布时间:2021-07-10 20:27:04 其他开发

RUST_BACKTRACE应该告诉我什么?

我的程序很恐慌,所以我按照它的建议运行了 RUST_BACKTRACE = 1 ,我明白了(只是一小段). 1:0x800c05b5-std :: sys :: imp :: backtrace :: tracing :: imp :: write :: hf33ae72d0baa11ed在/buildslave/rust-buildbot/slave/stable-dist-rustc-li ..
发布时间:2021-04-29 20:28:16 其他开发

make_shared()的可调试替换

使用gcc 4.6.2,如果构造函数引发异常,make_shared()会给出无用的回溯(显然是由于重新抛出).我正在使用make_shared()节省一些键入内容,但这是show stopper.我创建了一个替代 make_shrd(),它可以进行正常的回溯.我正在使用gdb 7.3.1. 我担心: make_shared()下不好的回溯是我自己的错 我的替代品make_shrd( ..
发布时间:2021-04-20 18:45:55 C/C++开发

来自addr2line的行号错误

我尝试在C ++程序的回溯中找到调用的确切行.现在,我正在使用这些行(来自backtrace的手册页)来获取跟踪: void * bt_buffer [1000];char ** bt_strings;int bt_nptrs = backtrace(bt_buffer,1000);bt_strings = backtrace_symbols(bt_buffer,bt_nptrs); 在b ..
发布时间:2021-04-19 19:10:10 C/C++开发

在ARM平台上没有SIGABRT信号的回溯吗?

我在信号处理程序中使用' backtrce()'和' backtrace_symbols_fd()'函数来生成用于调试的回溯(GDB不可用). 它们在x86桌面版(Ubuntu)上可以正常工作,但是在目标设备(基于ARM)上,Abort信号的回溯(由于双重释放错误)仅显示三个帧:信号处理程序还有两个来自libc,这对调试我们的代码没有用!SEGV上的回溯(例如使用错误的指针)确实会产生良好的 ..
发布时间:2021-04-09 19:24:47 服务器开发

glibc backtrace()如何确定返回地址是哪个堆栈内存?

就程序而言,堆栈只是一堆内存. backtrace函数如何确定哪些堆栈字节是指令指针的返回地址,而不是那些仅是函数参数的地址,等等? 解决方案 就程序而言,堆栈只是一堆内存. 那是正确的.如果您对程序的结构一无所知,则将无法解开其堆栈. 最容易用于展开的结构是其中单个“帧指针"被展开的结构.保留寄存器以始终指向当前帧,并且该帧在已知偏移处包含上一个帧指针. 这是在i* ..
发布时间:2020-11-16 00:06:04 其他开发

是否有一个gcc宏用于确定未消除帧指针?

使用-fomit-frame-pointer(对于各种-O设置自动)时,执行回溯是有问题的.我想知道是否有一种方法可以在编译时确定使用此开关编译代码吗?在这种情况下,我可以在不明智的情况下输入#ifndef来防止回溯. 此-fomit-frame-pointer开关打开时,是否设置了宏? 谢谢 SetJmp 解决方案 我刚刚尝试过: gcc -E -fomit-fr ..
发布时间:2020-11-10 20:19:01 其他开发

如何将PHP回溯记录保存到错误日志?

我现在正在使用此: error_log(serialize(debug_backtrace())); 但是我每次都必须反序列化它。有没有更好的方法来存储回溯? 解决方案 这应该会生成可读的字符串: error_log(print_r(debug_backtrace(),true)); 此外, debug_print_backtrace( ..
发布时间:2020-10-30 19:41:59 PHP

Django查询追溯

我希望对请求期间执行的每个查询进行追溯,因此我可以找到它们的来源并减少计数/复杂性。 我使用这很好的中间件代码片段来列出和查询时间,但是我不知道他们来自。 我在 django / db / models / sql / compiler.py 但明显的形式是获取django的本地版本并编辑该代码,我看不到如何锁定查询。我可以使用一个信号吗?似乎没有并不是每个查询都发出信号。 是否 ..
发布时间:2020-10-23 05:53:28 其他开发

如何在PHP中记录对函数的所有调用? (mail()函数)

我有一个带有数十个虚拟主机的专用服务器。我想确定哪个文件正在调用mail()函数,并将其全局记录下来。我需要这样的东西: [2013年2月13日星期三10:42:39 2013] mail()从/ var / www调用/example1.php在第70行 [2013年2月13日星期三10:42:40]从/var/www/example2.php在第70行 我不能使用de ..
发布时间:2020-10-19 05:54:33 PHP

Android内部_Unwind_Backtrace sigaction

我试图在我的Android NDK应用程序中捕获诸如SIGSEGV之类的信号以进行调试. 为此,我设置了一个称为的提示. 我现在正在尝试获取通话堆栈.问题在于_Unwind_Backtrace仅适用于当前堆栈,并且sigaction在其自己的堆栈中运行. 那么,有没有办法获取接收到信号的执行指针的堆栈? (基本告诉_Unwind_Backtrace展开当前堆栈以外的其他堆栈吗?) ..
发布时间:2020-08-27 21:39:58 移动开发

在Mac OS X上获取当前的堆栈跟踪

我试图弄清楚如何在Mac OS X上的C ++应用程序中存储然后打印当前堆栈.主要问题似乎是当在主可执行文件中给定地址时,dladdr返回正确的符号.我怀疑这个问题实际上是一个编译选项,但是我不确定. 我尝试了Darwin/Leopard的回溯代码,但它调用了dladdr,并且与我自己的调用dladdr的代码具有相同的问题. 原始帖子: 目前,我正在使用以下代码捕获堆栈: int ..
发布时间:2020-08-11 22:47:26 其他开发

在Linux 64位上从Signal Handler进行回溯,并在调用堆栈上使用malloc/free

以下是我想在运行"Red Hat Enterprise Linux 5.5(Tikanga)内核2.6.18-194.el5xen x86_64" OS的计算机上使用的源示例. 一般的想法是我想要某个线程的回溯,因此我正在为该线程引发SIGUSR1信号,并且处理程序进行backtrace()调用. 在以下情况下,FrameTwo函数在循环中调用malloc和free.每当为此特定线程发 ..

为什么PHPUnit隐藏我的xdebug回溯?

我已经安装了PHPUnit和xdebug,并且在CLI的php.ini文件中,我已经: display_errors = On xdebug.default_enable = 1 我已经验证了使用交互式控制台创建错误时是否打印了xdebug回溯,但是当运行phpunit时发生错误时,是否没有回溯? 回溯发生了什么事? phpunit对我隐藏了吗?我缺少某些设置吗? 谢谢! ..
发布时间:2020-05-27 01:59:06 PHP

如何在PHP中获取调用函数/方法的名称?

我知道函数debug_backtrace,但是我正在寻找一些易于使用的函数实现,例如GetCallingMethodName()?如果它也提供了方法的类(如果确实是方法),那将是完美的. 解决方案 debug_backtrace()函数是了解这一点的唯一方法,如果您很懒,这是您自己编写GetCallingMethodName()的另一个原因. 与懒惰作斗争! :D ..
发布时间:2020-05-26 21:38:04 PHP