callstack相关内容

Node.js-超出最大调用堆栈大小

当我运行我的代码时,Node.js抛出一个"RangeError: Maximum call stack size exceeded"异常,该异常是由过多的递归调用引起的.我试图通过sudo node --stack-size=16000 app增加Node.js堆栈大小,但是Node.js崩溃而没有任何错误消息.当我不使用sudo再次运行它时,Node.js将显示'Segmentation fa ..
发布时间:2020-05-18 01:35:00 其他开发

在Visual Studio中搜索调用堆栈

我正在使用Visual Studio调试大型多线程C ++应用程序.我试图找出哪个线程运行了我感兴趣的功能. 我有40多个线程,其中一些线程的调用栈很长.因此,手动检查单个调用堆栈以查看它们是否包含我的函数确实很繁琐. 我想知道Visual Studio是否支持搜索调用堆栈,就像它支持搜索源文件一样.您能告诉我如何在VS中搜索调用堆栈吗? 解决方案 不,我不知道有任何方法可以在 ..
发布时间:2020-05-14 00:34:14 其他开发

如何在Visual Studio中转储或在所有线程的调用堆栈中搜索

如何在Visual Studio中转储或搜索所有线程的调用堆栈?我们有一个服务器进程要调试,它有数百个正在运行的线程,因此手动检查每个线程应该很困难. 我知道gdb中的“线程应用"可以做这种事情.所以我想知道Visual Studio的调试器中是否有类似的功能. 我还使用了Visual Studio 2005,因此请提供VS 2005的解决方案(在VS 2010中提供了所有调用堆栈中的 ..

使用mingw进行编译时会增加堆栈大小吗?

我正在编写一个递归的填充算法,以查找图像中的连接组件,我的代码可以编译并与MSVC 2008编译器一起很好地运行;但是mingw编译的二进制文件在运行时崩溃了. 使用std :: stack将算法转换为非递归算法后,一切顺利. 但是如果我在某些情况下必须使用递归算法而mingw无法处理该怎么办? 如何增加二进制文件的堆栈大小,是否有任何编译选项? 谢谢 解决方案 使 ..
发布时间:2020-05-09 22:03:07 C/C++开发

回答“哪个方法叫我?" .NET在运行时?还是代码可以读取CallStack数据?

假定存在methodA(),methodB()和methodC(). 然后在运行时调用methodC(). 是否有可能知道methodC()是从什么方法调用的? 我在想,是否可以在运行时读取CallStack进行某些检查?如果可以,我认为应该没什么大不了的. 有什么想法吗? 谢谢! 解决方案 使用StackTrace和StackFrame类.例如: St ..
发布时间:2020-05-09 19:00:58 其他开发

为什么堆栈地址朝着减少的内存地址增长?

我在教科书中读到,堆栈是通过减少内存地址来增加的;即从高位地址到低位地址.这可能是一个不好的问题,但是我没有正确地理解这个概念.你能解释一下吗? 解决方案 首先,它取决于平台.在某些体系结构中,堆栈是从地址空间的底部分配的,并且向上增长. 假设像x86这样的体系结构从地址空间的顶部向下堆叠,那么这个想法很简单: =============== Highest Addre ..
发布时间:2020-05-08 21:24:33 其他开发

如何从Valgrind获取完整的调用堆栈?

我使用以下参数运行 Valgrind : --leak-check=full --show-reachable=yes --leak-resolution=high --num-callers=100 --trace-children=yes 在内存泄漏日志中,我看到一些错误消息,这些错误消息具有完整的堆栈跟踪信息,可追溯到main,但是某些消息如下所示: ==3956== 1,9 ..
发布时间:2020-05-08 20:42:16 其他开发

如何确定C ++中详细的调用堆栈信息?

我想更好地理解调用堆栈,为此,我想进一步使用它. 我将如何处理此信息?我不知道!虽然学习新事物很有趣,但这是我今天的新事物. 我不喜欢程序中的调用栈是一个我一无所知的神秘实体.它有多大?我当前的调用堆栈上有多少可用内存? 在哪里?我不知道!而且,我想知道. 我当前处理调用栈的方法是知道它,但是直到我遇到栈溢出错误时才有意识地与之交互. 那还不够好! 因此,在我的任务中,我想 ..
发布时间:2020-05-08 19:56:53 C/C++开发

异步递归.我的记忆实际上在哪里?

这是出于好奇而不是针对任何现实问题的要求. 考虑以下代码: void Main() { FAsync().Wait(); } async Task FAsync() { await Task.Yield(); await FAsync(); } 在同步世界中,这最终会导致堆栈溢出. 在异步世界中,这只会消耗大量内存(我认为这与我可能会松散地称为“异步 ..
发布时间:2020-05-08 19:13:44 C#/.NET

.STACK未在MASM中分配正确的大小

基于 Microsoft MASM文档,.STACK指令的用法是 与.MODEL一起使用时,定义堆栈段(段名称为STACK).可选大小指定堆栈的字节数(默认为1,024). .STACK指令自动关闭堆栈语句. (仅限32位MASM.) 为了实验,我做了.STACK来分配1,073,741,824 bytes (1 GB) 请注意,我正在Visual Studio 2013控制台项 ..
发布时间:2020-05-06 09:09:11 其他开发

在运行时打印调用堆栈(XCode)

有可能吗? 我已经找到了Visual Studio的解决方案打印n个级别的调用堆栈? 解决方案 要以编程方式在运行时打印回溯,可以使用以下功能: #import void PrintBacktrace ( void ) { void *callstack[128]; int frameCount = backtrace(callstack ..
发布时间:2020-05-03 08:24:53 其他开发

C#中的调用堆栈限制

我想知道在获得堆栈溢出异常之前,我们可以在c#中的堆栈中执行多少次调用 所以我决定写下面的代码 static void Method2(int Calls) { if(!Calls.Equals(0)) Method1(--Calls);//if more calls remain call method1 and reduce ..
发布时间:2020-04-30 11:38:34 C#/.NET

如何仅使用键盘在Visual Studio中导航调用堆栈?

我当前的解决方案是点击 Alt D , W , C ,然后通过菜单导航到调用堆栈,然后可以使用箭头进行导航.但是,一旦在特定的帧上按 Enter ,我就必须再次重复. 有没有一种更流畅的方式可以仅使用键盘来导航调用堆栈? 如果您有答案,面向ReSharper的答案对我来说就可以了! 解决方案 我使用VS2010默认键盘映射方案,并按 Ctrl + Alt + C 弹出调用堆栈窗 ..
发布时间:2020-04-26 08:42:15 其他开发

设置Java调用堆栈

是否可以修改/访问Java调用堆栈?例如保存和恢复?我正在考虑实现协作式多任务处理(尤其是I/O),就像python或haskell的gevent(本机执行此操作)一样.异步回调意大利面条混乱不是最好的解决方案. 解决方案 最简单的解决方案是拥有多个线程.您最多可以在服务器上有效运行10,000个线程.如果您还需要更多,我建议a)购买第二台服务器,或b)使用非阻塞IO. 通常,使用多 ..
发布时间:2020-04-25 07:40:52 Java开发

Javascript回溯

如何在Javascript中获得回溯? 理想功能: 条目函数名称,或匿名函数的一些有意义的标识符, 每个级别的参数列表, 行号。 这可以在标准ECMAScript中完成吗? 如果没有,可以在常见的网络浏览器方言? 谢谢。 编辑 - 感谢您的建议。 我的方言不支持 arguments.caller 或 arguments.callee 。 我 ..
发布时间:2019-06-07 18:36:54 前端开发

了解已解析的promise的后续then()处理程序的执行顺序

我正在学习Promise,为了理解它我读了一些关于JavaScript的事件循环。这篇文章简要介绍了事件循环的工作,如调用堆栈,事件表和消息队列。 但是我不知道调用堆栈如何处理包含'return'的行,以及之后会发生什么。 下面是我写的一个例子,希望了解Promise如何基于事件循环工作。另请参阅 http://jsbin.com/puqogulani/edit?js,console if ..
发布时间:2019-05-24 19:44:07 前端开发

在nodejs上分析JavaScript代码 - 可能的方法

我的目标是为nodejs开发一个java脚本分析器。 要求如下: 应该可以获取调用堆栈。 获取时间戳信息。 获取迭代次数。 我主要担心的是我不应该修改源文件(.js文件)。 我已经在节点js上看到了JavaScript代码的所有可用性能分析选项。我面临的问题是,大多数需要手动将特定于配置文件的代码注入我的源代码中。以下是一个示例 var profiler = new ..
发布时间:2019-04-28 10:49:37 前端开发