Sér*_*els 17 exception angularjs
我正在使用装饰器来改变$exceptionHandler行为,将日志发送到服务器.我的问题是异常的stackatrace似乎没用,只显示堆栈的一部分.例如:
语法错误:令牌'undefined'不是表达式[expression here]的列NaN处的主表达式.
Run Code Online (Sandbox Code Playgroud)at Error (native) at throwError (http://localhost:8080/angular/angular.js:6674:62) at primary (http://localhost:8080/angular/angular.js:6918:9) at unary (http://localhost:8080/angular/angular.js:6900:14) at multiplicative (http://localhost:8080/angular/angular.js:6883:16) at additive (http://localhost:8080/angular/angular.js:6874:16) at relational (http://localhost:8080/angular/angular.js:6865:16) at equality (http://localhost:8080/angular/angular.js:6856:16) at logicalAND (http://localhost:8080/angular/angular.js:6847:16) at logicalOR (http://localhost:8080/angular/angular.js:6839:41)
有没有办法配置AngularJS来显示更多的堆栈?如果我查看Chrome控制台,我可以看到更多堆栈,并获取文件名,但不能在异常处理程序中.
即使我更改Error限制,我也看不到原始文件:
Error.stackTraceLimit = Infinity;
Run Code Online (Sandbox Code Playgroud)
Google Chrome 提供了一个调试器,可以帮助 JS 程序员找到 bug 和有问题的代码。
随着 JavaScript 应用程序复杂性的增加,开发人员需要强大的调试工具来帮助快速发现问题的原因并有效地修复它。Chrome DevTools 包含几个有用的工具,可以帮助减轻 JavaScript 调试的痛苦。
您可以尝试在任意位置放置一些断点(尝试检测有问题的行/方法)。
请参阅此处的官方文档:Google Chrome 调试器
许多插件(例如ng-inspector或AngularJS Batarang)可以帮助您打印 AngularJS 程序的状态(控制器实例、变量名称/值和范围)。
AngularJS $log 服务提供了一个简单的资源来在浏览器控制台中打印变量的状态(如果存在)。
简单的日志记录服务。默认实现将消息安全地写入浏览器的控制台(如果存在)。
该服务的主要目的是简化调试和故障排除。
默认是记录调试消息。您可以使用 ng.$logProvider#debugEnabled 来更改此设置。AngularJS $log 服务可以帮助您调试程序。
从我的角度来看,一个好的 AngularJS 调试包括上述所有解决方案的组合。
我希望它对你有用。
| 归档时间: |
|
| 查看次数: |
6633 次 |
| 最近记录: |