草庐IT

ELK堆栈

全部标签

javascript - IE8 上多帧 JS 的完整调用堆栈

我需要在InternetExplorer8上的JavaScript发生异常时获取完整的调用堆栈。函数调用可能发生在帧数较大的帧之间。将日志发送给开发人员所需的调用堆栈。我不能使用调试器,因为最终用户不必处理这个问题。当前的JavaScript解决方案提供它可以生成调用堆栈(http://eriwen.com/javascript/js-stack-trace/)。它基于arguments.callee.caller。但如果函数是从当前帧外部调用的,则调用者返回零(未定义)。因此获得的调用栈是不完整的。在这种情况下,我能否获得调用该函数的框架的名称?基于ActiveScriptsTech

Javascript 自包含沙箱事件和客户端堆栈

我正在将JSF繁重的Web应用程序迁移到REST且主要是JS模块应用程序。我在YUItheater上看过NicholasZakas的“可扩展的javascript应用程序架构”(非常棒的视频),我成功地实现了大部分演讲,但我有一些问题:关于模块和沙箱之间的关系,我发现讲座有点困惑,一方面,根据我的理解,模块不应该受到沙箱之外发生的事情的影响,这就是它们发布事件的原因通过沙箱(而不是通过核心,因为核心用于隐藏基础库)但是应用程序中的每个模块都有一个新的沙箱?沙箱不应该将事件限制到使用它的模块,还是应该跨页面发布事件?例如:如果我有两个可编辑的表,但我想将每个表包含在不同的沙箱中,并且它的

javascript - 第 0 行堆栈溢出

我有一个表单验证脚本,不幸的是,它在崩溃前不久返回了Stackoverflowatline0警告框(IE7)并且在IE8中直接崩溃(它首先工作,非常慢).为了您的测试乐趣,我制作了一个jsFiddle:http://jsfiddle.net/yuNXm/2/堆栈溢出发生在您将值输入到需要验证的输入中然后失去焦点之后。(电子邮件字段是ajax驱动的,因此不会在那里起作用)。相关的Javascript:jQuery(document).ready(function($){varinputs=$('input[data-validation-method]');varfields=$();v

javascript - 如何使用 Node 从 WebStorm 中的 JavaScript 堆栈跟踪导航到原始 TypeScript 文件?

我是TypeScript的新手。在Mac上,我使用WebStorm2016.2.4forNodewithTypeScript2.0。使用生成的映射交互式调试工作正常,但运行时堆栈跟踪链接指向JavaScript文件,而不是原始TypeScript文件。这是正常的和预期的吗?是否有我缺少的WebStorm功能可以将这些链接转换为原始TypeScript文件和行,或者这只是TypeScript开发人员必须忍受的? 最佳答案 我通过要求模块source-map-support/register使用TypeScript源文件行号获取堆栈跟踪

javascript - 如何在 Chrome 扩展内容脚本中获取错误堆栈跟踪?

有一个GoogleChromeextension使用contentscript处理所有标签页上发生的JS错误。但问题是,没有任何一种获取错误堆栈跟踪的常用方法不起作用。比如在Chrome扩展的contentscript中有一段代码:window.addEventListener('error',function(event){console.log(event.error.stack);//event.errorwillbenull},false);如果我在网页中调用此代码,那么event.error将包含具有stack属性的Error对象。尝试使用以下方法获取堆栈跟踪时遇到同样的问题

javascript - 为什么这样的递归不会堆栈溢出?

我没弄清楚为什么调用recSetTimeOut()不会导致堆栈溢出错误,而recPromise()会。constrecSetTimeOut=()=>{console.log('inrecSetTimeOut');setTimeout(recSetTimeOut,0)};recSetTimeOut();constrecPromise=()=>{console.log('inrecPromise');Promise.resolve().then(recPromise);}recPromise();为什么会这样?它们有什么区别?你能解释一下幕后的过程吗?使用更多信息进行编辑在Node.jsv

javascript - 在递归函数中处理大数组时堆栈溢出

为什么下面的递归代码如果数组列表太大会导致堆栈溢出?我怎样才能解决这个问题并仍然保留递归模式?varlist=readHugeList();varnextListItem=function(){varitem=list.pop();if(item){//processthelistitem...nextListItem();}}; 最佳答案 这听起来很奇怪,但请使用setTimeout。像这样://fillitwith50000elementsvarlist=Array(50001).join('1.1').split('.');v

堆或堆栈上的 Javascript 闭包?

JavaScript(根据标准)在哪里存储闭包:堆还是栈?是否有第三个明确的闭包位置? 最佳答案 说到底就是runtime的一个实现细节。SeePhoenixlink关于实现,为了在上下文被销毁后存储局部变量,基于堆栈的实现不再适合(因为它与基于堆栈的结构的定义相矛盾)。因此,在这种情况下,父上下文的关闭数据保存在动态内存分配中(在“堆”中,即基于堆的实现),使用垃圾收集器(GC)和引用计数。这样的系统在速度上不如基于堆栈的系统有效。然而,实现可能总是优化它:在解析阶段找出函数中是否使用了自由变量,并根据此决定将数据放在堆栈或“堆”

javascript - 如何在 Firefox 中获取 JavaScript 堆栈跟踪?

我在Firefox上运行了一个HTML文件,我想调试它。我按下F12,然后我得到了控制台/HTML/CSS/脚本的菜单。如何找到程序的堆栈? 最佳答案 有关Firebugs控制台API的详细信息位于此处:http://getfirebug.com/wiki/index.php/Console_API#console.trace.28.29console.trace()函数可能就是您要找的东西 关于javascript-如何在Firefox中获取JavaScript堆栈跟踪?,我们在Sta

go - 如何让 logrus 打印 pkg/errors 堆栈

我正在使用github.com/sirupsen/logrus和github.com/pkg/errors。当我提交一个从pkg/errors包装或创建的错误时,我在注销中看到的只是错误消息。我想查看堆栈跟踪。从本期,https://github.com/sirupsen/logrus/issues/506,我推断logrus有一些处理pkg/errors的native方法。我该怎么做? 最佳答案 对您的Logrus问题的评论是不正确的(顺便说一下,似乎来自与Logrus没有任何关系且对Logrus没有做出任何贡献的人,所以实际上不