问题标签 [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.
php - PHP,自动SQL注释,数据库调试哪个文件和哪行调用了sql
我们有一个大型 php 应用程序并尝试调试慢速 sql 查询,我们希望能够自动注释实际调用 sql 查询的文件,例如:
/* filename.php line 234*/ 是动态插入的。大概
在php中有一个debug_backtrace,http ://php.net/manual/en/function.debug-print-backtrace.php
哪个可以手动完成:
但希望有一些更核心的东西,比如数据库驱动程序。
MediaWiki 也有类似的功能。 http://www.mediawiki.org/wiki/Manual:How_to_debug
PDO 驱动程序有一个转储语句,但这只是查询,而不是谁调用它 http://php.net/manual/en/pdostatement.debugdumpparams.php
您如何在运行它的 php 页面的上下文中最好地调试 sql?
c - 回溯日志中的堆栈帧 NULL
我的应用程序收到分段错误。回溯日志——
堆栈帧#9
很有趣。它的地址是0x0000000000000000
。这是否意味着堆栈甚至在到达之前就已损坏engine_unlocked_finish ()
?
php - debug_backtrace() 在输出缓冲回调中失败
最近,一个应用程序在随机执行点回显了某些内容。找到确切的陈述原来是一个问题:太多的陈述发出了东西。
因此,我通过ob_start()注册了一个回调,让回调回显 debug_backtrace()并退出应用程序。
请注意,我试图禁用输出缓冲作为回调的第一条语句。
不幸的是,debug_backtrace()从来没有返回任何东西。该应用程序在回调中调用debug_backtrace()时崩溃。
我什至没有设法将 debug_backtrace() 的内容保存到文件中(而不是标准输出)。
有人可以解释为什么吗?
php - PHP回溯转储无限字符串
我正在调试一个奇怪的错误,以诊断一个未正确执行的简单 PHP 函数。功能本身不是问题。当我使用 debug_print_backtrace() 运行回溯时,它只是不停地打印和打印。回溯应该像这样执行吗?
该站点本身是 Opencart v1.5.4.1,托管在运行 CentOS 最新版本的专用 Linux 机器上。为了正确诊断,我还需要提供什么?我以前没有遇到过这样的事情,因此非常困惑,不知道该去哪里。谷歌搜索没有提供任何清晰的方式。有任何想法吗?
php - debug_backtrace() 中的 Apache/PHP 分段错误
在 Drupal 项目中执行特定操作时,PHP 崩溃。在/var/log/apache2/error.log
中,我可以看到:
[Wed Jul 08 09:51:13.068078 2015] [core:notice] [pid 9130] AH00051: child pid 9135 exit signal Segmentation fault (11), /etc/apache2 中可能的核心转储
使用xdebug.auto_trace=On
,我已经能够确定在debug_backtrace()
调用时发生崩溃(而不是每次)。
我设法得到一个核心转储。这是我在运行时得到的sudo gdb /usr/sbin/apache2 /tmp/coredumps/core-apache2.9135
:
程序因信号 SIGSEGV、分段错误而终止。
#0 0x00007f12e1c7422a in zend_std_object_get_class_name () from /usr/lib/apache2/modules/libphp5.so
我可以做些什么来进一步解决问题?
php - PHP-FPM 段错误 6
我有 php5-fpm 的问题。很多时候,它会出现段错误并阻塞整个 php 处理,因此无法向客户端提供任何答案。对我来说,回溯看起来像一个无限循环,但我看不出它是由脚本还是内部 php 模块引起的。
有没有机会看到涉及哪个脚本/模块?
Segfault 总是这样(dmesg 输出):
PHP版本:
Coredump 的回溯:
回溯获取文件名:
已安装的软件包:
php - PHP 是我从 echo 或 sprintf 调用的函数
我想看看函数在哪里被调用。
该函数是在 echo 还是 sprintf 中调用的?然后返回,否则回显内容。
我得到了这段代码(test.php):
当我在终端输入它时,我得到的是:
(来自网络的ps相同)
我的 PHP 版本是:
php - 可以将 debug_backtrace 作为非调试功能的一部分吗?
我仅在从特定父级(或祖父级函数,或曾祖父级等)调用函数时才尝试执行该函数。我可以使用 debug_backtrace 实现我想做的事情,但我觉得这不是正确的方法。以此为例:
这是在 Wordpress 函数中使用回溯来执行 set_post_format 函数,仅当从 bulk_edit_posts 函数调用 savethepost 函数时,这是我试图实现的。但是既然这个方法是用来调试的,那么这样用可以吗?如果没有,如果仅来自某个父函数,我还能如何实现调用函数?
gdb - gdb backtrace 如何知道每个函数取自哪个库?
我编写了一个简单的程序,它所做的只是调用一个名为 meller1 的函数,该函数调用 meller2,依此类推,直到某个函数调用空闲并崩溃。当使用 coredump 文件在该程序上运行 gdb 回溯时,我收到:
我的问题是,gdb bt 怎么知道 free 是取自 /lib/libc.so.6 的?给定一个Coredump文件和可执行文件本身,有没有一种我可以自己做的手动方式?谢谢。
php - php debug_backtrace() 将结果中包含一些对象的字符串
我想在 __set 函数中使用 debug_backtrace() 调试应用程序。
因为我需要它作为字符串,所以我尝试了它$myStringVar = print_r(debug_backtrace(),true);
但这不起作用。我发现我的数组中有一些对象 debug_backtrace() 返回。
所以我必须以另一种方式将其转换为忽略对象的字符串。
但是如何做到这一点?