【问题标题】:Firebug: Angular stack traces do not show the source of the error(line number, file)Firebug:角度堆栈跟踪不显示错误的来源(行号,文件)
【发布时间】:2015-01-21 17:24:26
【问题描述】:

我正在尝试在 Angular 中获取堆栈跟踪,它告诉我哪里出错了。相反,我只是得到一个错误通过 Angular 传播的位置的列表。有时错误消息会有所帮助,但并非总是如此,但这对我来说无关紧要:我想知道我的代码出错的确切行号以及文件名。例如,这是一条典型的 Firebug 消息:

错误:[ng:areq] 参数“TackleController”不是函数,未定义 http://errors.angularjs.org/1.3.3/ng/areq?p0=TackleController&p1=not%20a%20function%2C%20got%20undefinedminErr/

在这种情况下,问题是我在我的 HTML 中引用了一个我没有定义的控制器;我将其发布为我的意思的示例,而不是因为我需要解决问题的帮助。我猜这是因为 Firebug 在 20 个错误处自动截断堆栈跟踪?但我该如何改变呢?

附: 我是 Angular 的菜鸟。如果此答案在其他地方重复,请实际将我链接到该问题,而不是粗鲁地删除该问题。

【问题讨论】:

  • 你能告诉我们一些你写的代码吗?根据错误它显示Argument 'TackleController' is not a function, got undefined
  • 我根本没有定义 TackleController。我在显示错误时的重点是它们没有指出我试图在哪一行引用未定义的变量。这就是我想要得到的,错误所在的实际行号。我不关心这个特定的错误,因为我已经知道它为什么会被抛出。
  • 没有看到我无法回答的代码仍然没有任何线索
  • 具有讽刺意味的是,您正在抱怨缺少显示的源代码……这也是 OP 所抱怨的。

标签: javascript angularjs firebug stack-trace


【解决方案1】:

使用window.onerror 获取未处理异常的详细信息:

 window.onerror = function (message, url, lineNo)
  {
  console.log('Error: ' + message + '\n' + 'Line Number: ' + lineNo);

  return true;
  }

console.log(window);
console.log(1=2);

参考文献

【讨论】:

    猜你喜欢
    • 2011-08-12
    • 2021-08-18
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多