问题标签 [traceback]

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 投票
3 回答
5602 浏览

python - 为什么我不能在 Python 中腌制错误的 Traceback?

从那以后,我找到了解决方法,但仍然想知道答案。

0 投票
2 回答
672 浏览

javascript - 注入的 Javascript 错误(Python Web Scraper)

我之前遇到过类似的问题,但我不知道为什么它不会让我点击复选框。我相信我通过选择错误的方式检查复选框时出错。

这是我的回溯:

这是 HTML/CSS 部分:

这是我的 Python 代码:

0 投票
1 回答
977 浏览

debugging - 如何在 Emacs 中实现错误回溯?

我正在用 Ocaml 编写编译器。当我make在终端中编译和测试它时,回溯效果很好,例如:

但是当我在我的 Emacs 中编译并测试它时Meta-x compilemake它不会在缓冲区中显示回溯部分:

.emacs我从朋友那里复制了我要做的一部分回溯:http: //paste.ubuntu.com/628838/

谁能告诉我如何修改我的.emacs,以便它在终端中显示回溯?非常感谢你

0 投票
1 回答
5573 浏览

c - 如何在 Solaris 上获取 BACKTRACE(函数 + 行号)?

我用 C 语言编写了一些代码,它们很高兴地将带有函数名称和行号的完整回溯发送到日志文件。

这是在 LINUX 上混合使用 backtrace、backtrace_symbols 和 dladdr 和 ADDR2LINE 完成的。还在 Linux 上使用“execinfo.h”....

所以基本上如下:

回溯:线路位置:

现在我已经将代码带到了 Solaris,我发现它不受支持;-(

我在 Solaris 上尝试了 pstack 方法并得到类似:

我如何以某种方式使用上述方法以编程方式获取行号和函数名称?我看到了一些关于“walkcontext”或“walkstack”的东西......有没有人有任何示例代码让我获取行号等?

另外,我在 Linux 上使用了 ADDR2LINE,效果很好.....有人可以告诉我如何从上面的 DUMP 中在 Solaris 上使用它吗?我无法让它工作;-(

任何建议将不胜感激

谢谢

林顿

0 投票
8 回答
14721 浏览

python - 在 Ctrl-C 上删除 Python 中的回溯

Ctrl当你点击+时,有没有办法阻止回溯出现c,即KeyboardInterrupt在 Python 脚本中引发?

0 投票
1 回答
155 浏览

python - 在回溯中获取续行的所有行

是否可以在回溯中获取连续行的所有行?

例子:

输出:

请注意,它只打印续行的最后一行。

我想要续行的所有行,如下所示:

这可能吗?

我查看了traceback模块,但它返回的值已经被截断。

例子:

输出:

0 投票
1 回答
1450 浏览

python - Box2D 不适用于 Python

我已经安装了 Python 2.6.6 和 Box2D 2.0.2b1。并且无法创建 box2d 世界 - b2World()。

简单的例子:

无论我在函数 b2World 中输入什么内容,都会收到此错误:

0 投票
3 回答
5962 浏览

python - 打印直方图

我有一个整数百分比列表,需要使用以下模式打印:

同样,如果索引的值为 0,则打印“小于 1%”

我试过这段代码:

但是我不断收到错误代码:列表索引超出范围。

我根本不明白这一点,有人可以指出我做错了什么吗?

0 投票
1 回答
397 浏览

python - sys.exc_info 还是 sys.last_*?

我应该更喜欢sys.exc_info()sys.last_value朋友(sys.last_typesys.last_traceback)吗?

0 投票
3 回答
869 浏览

frame - 如何在回溯中重写特定帧?

在 python 中,您可以使用 exec() 来更快地执行 compile() 字符串。但是一旦我使用它,当 exec 中发生异常时,我们就会丢失信息。

例如,这是一个调用未知方法的代码片段(用于演示目的):

后来,我在那个字节码上调用 exec :

显示的回溯是:

“exec()”框架现在是模糊的。我想要一个更好的例外,例如:

有什么想法吗 ?

笔记:

  • 我不想使用 compile 的第二个参数(文件名)
  • 我已经测试过在框架上使用检查和修改 f_code,但它是只读属性。

编辑:在查看更多 sys.excepthook 之后,我在 python 源代码/traceback.c 中看到,当 python 想要显示行内容时,如果找到,它们是 fopen() 直接文件。根本没有可用的钩子来显示我们自己的内容。唯一的方法是在磁盘上创建真正的假文件名?任何人 ?

EDIT2:我检查了一些 jinja2 调试代码,他们也在重写回溯,但不是为了内容。除了钩子,我需要定制吗?我对它的担心是因为它不在回溯本身中,如果用户/模块/任何异常,回溯将不包含有价值的信息。