问题标签 [debug-backtrace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
77 浏览

php - 为什么 debug_backtrace() 似乎跳过了几个重要的“步骤”,使我无法调试致命错误的来源?

我的最终目标是能够正确记录“致命”错误,遗憾的是set_error_handler.

目前,PHP 所做的只是记录:

这种日志几乎没有用,因为它只告诉我它死的最后一个“点”。这就是为什么我使用自定义错误处理程序来记录“所有”错误debug_backtrace()。但是由于set_error_handler没有“得到”致命错误,我(在 Stack Exchange 上)发现了一种处理这些错误的所谓方法,方法是注册一个“关闭函数”来检查最后一个错误,生成debug_backtrace()并记录它。

可悲的是,当我尝试时,它debug_backtrace()似乎非常有限,根本不包括所有“步骤”。例子:

当我运行它时,输出如下:

没有提到broken_function()or nonbroken_function(),即使这些被调用了。我不明白。尽管在这个最小的测试/示例中导致致命错误的原因很明显,但在“现实世界”中从来没有或很少出现这种情况,它只会指向我复杂系统中某处的通用线和唯一的“回溯" 仅由关闭处理函数和错误处理函数组成。没有真正的“背景”。我不明白我做错了什么。

此外,我不明白error_get_last()开始的意义,因为 PHP 在默认情况下会记录 FATAL 错误,但是即使我使用回溯函数,也不会显示任何上下文。

我已经重新阅读了有关该debug_backtrace功能的手册,但它几乎没有说明什么是回溯。我以为我明白它是什么,但显然,我不明白?

“截止”回溯是否可能与这是一个致命错误这一事实有关,这甚至使基本功能也无法正常运行?如果是这种情况,这是否意味着如果没有纯粹的猜测/手动计算代码,就不可能正确记录(并因此调试)致命错误?

0 投票
0 回答
188 浏览

php - PHP 8 中的 debug_backtrace() 是否被削弱了?

在准备更新到 PHP 8 时,一旦他们发布了超出损坏的 8.0.0 的新版本(由于据称现在已修补的 IMAP 错误,我不得不降级回 7.4.x),我读到以下内容:

debug_backtrace() 和 Exception::getTrace() 将不再提供对参数的引用。无法通过回溯更改函数参数。

来源:https ://www.php.net/manual/en/migration80.incompatible.php

但是,没有提及:https ://www.php.net/debug_backtrace

我依赖于debug_backtrace()我的自定义错误记录器功能。我制作了自己的错误记录器,因为我发现 PHP 提供的标准错误记录器完全没用,总是让我想知道到底是什么错误,浪费了我这么多的时间来寻找错误实际发生的位置。

我自己的错误记录器(以及其他功能)显示发送到函数的所有参数(或片段,如果它们太长)。

我是否正确理解 PHP 8 取消了这种能力?如果是这样,有什么可能的原因来删除这个关键的核心功能?

我希望我只是误读了这个。

0 投票
0 回答
19 浏览

pass-by-reference - 为什么 debug_backtrace 会抛出变量引用通知?

我有这个函数,除了它抛出关于函数第 4 行的通知外,它可以工作。通知上写着“只有变量应该通过引用传递......”我在第 4 行做错了什么?谢谢!

0 投票
0 回答
28 浏览

c++ - 当向量的值已经在上面定义的函数中被 push_backed 时,向量的值不能在 main() 中产生的回溯问题

迷宫里的老鼠

老鼠需要移动的方向

输入和输出:

但问题是它没有采用我尝试在 main() 中打印的推回向量 ans。我什至尝试在全局所有函数之外声明字符串向量,但即便如此它也没有打印它拥有的新分配值。

在 main() 内部:

它没有输出。 有人可以帮我解决这个问题吗?

0 投票
1 回答
41 浏览

debugging - 显示 Swi-prolog 回溯?

我认为它可能不是为此而建造的,但我可能会问。

我想运行一个简单的 cli 应用程序并让它在出现错误时显示回溯。

swipl -f test.pl -g test(X)

这将在程序中运行目标测试

ERROR: -g test(X): Arguments are not sufficiently instantiated

但是,它没有显示完整的回溯。我需要做的是每次打开 GUI,输入guitracer,trace,运行它等。这表明程序可以保留回溯。

我认为它可能不是为此而建造的,但我可能会问。

0 投票
0 回答
13 浏览

visual-studio-2010 - 回溯工具 任何知道如何使用此工具的人

是否有人在工作或有人知道回溯工具,如何在 Google 崩溃垫或 Visual Studio 中使用它