C# 无法增加Visual Studio 2013 C的堆栈大小#
我正在使用Visual Studio 2013社区版编写一个C#项目 我的程序使用HtmlAgilityPack解析HTML,并引发堆栈溢出异常。我一直在尝试更改堆栈大小,但我看到的解决方案属性窗口只有屏幕截图所示的选项:C# 无法增加Visual Studio 2013 C的堆栈大小#,c#,visual-studio-2013,stack-overflow,stack-size,C#,Visual Studio 2013,Stack Overflow,Stack Size,我正在使用Visual Studio 2013社区版编写一个C#项目 我的程序使用HtmlAgilityPack解析HTML,并引发堆栈溢出异常。我一直在尝试更改堆栈大小,但我看到的解决方案属性窗口只有屏幕截图所示的选项: 我读了一些其他文章,这些文章说C.C.Project的解决方案属性面板的可用选项与C++不同。我在哪里可以配置我的C#程序的堆栈大小?似乎这背后的原因是堆栈溢出。这个问题可以通过增加堆栈大小来解决。 在VisualStudio中,您可以通过使用/STACK:reserve[
<>我读了一些其他文章,这些文章说C.C.Project的解决方案属性面板的可用选项与C++不同。我在哪里可以配置我的C#程序的堆栈大小?似乎这背后的原因是堆栈溢出。这个问题可以通过增加堆栈大小来解决。 在VisualStudio中,您可以通过使用/STACK:reserve[,commit] 在Windows平台下,堆栈大小信息包含在可执行文件中。它可以在VisualStudioC++中编译期间设置。 或者,Microsoft提供一个程序editbin.exe,可以直接更改可执行文件。详情如下: 窗口(编译期间):
Select Project->Setting.
Select Link page.
Select Category" to "Output.
Type your preferred stack size in Reserve: field under Stack
allocations. eg, 32768 in decimal or 0x20000 in hexadecimal.
Windows(修改可执行文件):
Select Project->Setting.
Select Link page.
Select Category" to "Output.
Type your preferred stack size in Reserve: field under Stack
allocations. eg, 32768 in decimal or 0x20000 in hexadecimal.
Microsoft Visual Studio中包括两个程序:dumpbin.exe和editbin.exe。运行dumpbin/headers可执行文件,您可以在可选的头值中看到堆栈保留信息的大小。运行editbin/STACK:size以更改默认堆栈大小。它在C#编译器中没有作为选项公开,您必须使用。这样解决问题的几率很低,SOE几乎总是由程序中的错误引起的。你确定程序中没有无休止的循环吗?(无论是从一个未结束时开始的标准堆栈还是递归未停止的堆栈。这些都是堆栈溢出的默认原因,而不是其他原因)