1

如果标题令人困惑,我很抱歉,但我想不出任何类似的称呼。我正在寻找的是是否有任何类型的工具(或 eclipse 插件等)可以记录程序中所有翻译的行。例如:

int b = 20;
for (int x = 0; x < z; x++)
b = b + 5;

会被翻译成

b = 20
for (int x = 0; 0 < 50; 0++)
b = 20 + 5;

我问是因为相对来说实现起来并不难,因为我们可以一次调试一行,我认为这会节省大量时间。如果您可以通过日志文件查找错误并准确检查问题发生在哪一行以及导致它的上下文,那么调试会容易得多。XDebug for PHP 具有函数级跟踪,因此您可以查看程序中传递的变量的值,并将其转储到日志中。我发现它为我节省了大量的调试时间。那时问题通常很明显并且很容易解决。

它肯定会比添加日志语句更好。

编辑:我想澄清一下,我不是在寻找传统的调试器 ala Eclipse 风格。我只是在寻找变量和状态的整体记录。

4

3 回答 3

2

Eclipse 和任何值得它的盐的 IDE 都带有一个调试器,可以做到这一点以及更多。您可以让程序在任何特定的代码行(无论何时到达,或仅在满足特定条件时)停止并检查该点的变量状态,以及修改变量并执行任意代码,而不是打印出跟踪语句来查看它们的返回值。

对于代码在服务器上运行的 Web 应用程序,您甚至可以通过网络将调试器连接到远程 JVM。

这是一个关于如何使用 eclipse 调试器的教程。甚至还有一个插件允许您将它用于 PHP 代码。

于 2009-10-12T13:48:21.243 回答
1

我认为Trace可能是您想要的,尽管在实践中,我希望具有表达式评估和条件断点的良好调试器可以更快地解决您的整体问题。请注意,Trace 被写入 JPDA,并且它的代码是可用的。

于 2009-10-12T14:17:16.537 回答
0

我不明白这样的工具是如何工作的。它对条件句有什么作用?对于用户输入?

int x=getUserInput();
print(x);  // What would your translator show for this line?

此外,听起来有点像任何这样的工具都可以用来解决停机问题……看看最后一行。

于 2009-10-12T15:02:52.810 回答