当我在JS代码上出错时,我有这种堆栈跟踪:
Error while processing route: admin.subscriptions/edit The adapter operation was aborted Error
at n.i (http://test.com/assets/vendor-160ad2febac0712c4d0db4e856197579.js:62:1375)
at n (http://test.com/assets/vendor-160ad2febac0712c4d0db4e856197579.js:62:1600)
at u (http://test.com/assets/vendor-160ad2febac0712c4d0db4e856197579.js:62:4777)
at i.c.error (http://test.com/assets/vendor-160ad2febac0712c4d0db4e856197579.js:62:8222)
at u (http://test.com/assets/vendor-160ad2febac0712c4d0db4e856197579.js:5:17397)
at Object.fireWith [as rejectWith] (http://test.com/assets/vendor-160ad2febac0712c4d0db4e856197579.js:5:18168)
at r (http://test.com/assets/vendor-160ad2febac0712c4d0db4e856197579.js:6:22154)
at XMLHttpRequest.<anonymous> (http://test.com/assets/vendor-160ad2febac0712c4d0db4e856197579.js:6:26964)
at XMLHttpRequest.r (http://test.com/assets/vendor-160ad2febac0712c4d0db4e856197579.js:50:30564)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它是缩小的文件,它似乎不使用源映射文件.源映射文件运行良好.它在Chrome和Firefox上执行此操作.
我怎样才能有更好的堆栈跟踪?
这可能是一个奇怪的问题,我似乎无法搜索正确的短语来提取任何相关的答案.
我们有一个在客户端计算机上运行的应用程序并且已缩小.我们生成源映射,但它们不会暴露给生产版本.
我有一个window.onerror,我使用一个捕获所有的草率代码,发现它是我不知道的方式.值得庆幸的是,这几乎从未被利用过.最近,我undefined偶尔会遇到一个错误,所以有人找到了办法做某些不合意的事情.Chrome可以很好地记录堆栈跟踪中的行号和列号,当错误捕获其中一个错误时,我们会记录到日志记录服务器,但是我需要调试并查看min文件并不是很吸引人.而且undefined is not a function是不是非常有帮助要么:)
问题:是否有一个工具 - 可能在nodejs中 - 可以采用min文件,源映射和堆栈跟踪字符串并生成相关文件,行号和列号?
我意识到浏览器在运行时为你做了这个,但是在这种情况下,我没有那么奢侈,因为我试图弄清楚事后的错误究竟是什么.