我想我在Windows上通过emacs中的gdb运行我的单元测试时遇到了堆栈溢出问题。运行gdb时在窗口中堆栈溢出
我在Linux上运行完全相同的单元测试,没有任何问题
我也知道,我现在用这些单元测试中的窘况内存低效基于堆栈的.ini文件分析器所以它似乎是堆栈溢出发生的合理可能性。
我注意到在Linux上通过的Windows上的几个单元测试。进一步的调查显示for循环中的(基于堆栈)计数器在for循环执行中随机重置为零,for循环正在检查的数组中的(基于堆栈)值更改为相同索引值
我注意到gdb似乎在Windows下分配了自己的执行线程 - 有什么方法可以找出线程被分配了多少堆栈空间?
在emacs中使用mingw,所以应该工作 - 我会给它一个。出于兴趣怎么能找出--stack参数的默认值是什么? – bph
我想这是gcc的RTFM。对于Visual Studio,初始限制是4KB,保留限制是1MB,如果我不得不猜测,那么gcc可能类似。 – cdarke
哈哈RTFM永远是最后的手段 - 4KB似乎令人惊讶的小MSVC – bph