Visual Studio调试最大缓冲区大小

时间:2015-11-18 11:12:46

标签: visual-studio visual-studio-2010 debugging stack visual-studio-debugging

在visual studio(2010)中调试项目时,一旦我进入我的某个文件,就会收到消息“ no source available ”。该文件现在只是一个带有一个函数的测试文件:

void foo()
{
    float testbuf[200000] = {0};
}

如果我分配一个较小的缓冲区,调试器会正常输入文件。 在我的调试视图中,我的“调用堆栈位置”为空,并且“没有可用的反汇编”。

在我看来,视觉工作室调试器可以处理的数据量最大,或者朝这个方向发展。

有人可以告诉我这是否是问题,以及我如何解决它。也许一些Visual Studio设置可以帮助我?

1 个答案:

答案 0 :(得分:0)

我找到了避免这个问题的方法。 如果我通过malloc-ing相同的大缓冲区“动态”创建缓冲区,那么Visual Studio调试我的源文件没有问题。 代码示例:

void foo()
{
    float *testbuf;
    testbuf = (float*) malloc(200000*sizeof(float)); // "dynamic" malloc
    memset(testbuf, 0, 200000*sizeof(float)); // Make sure buffer is empty.
    // Code (irrelevant to example)
    free(testbuf);
}

因此,这不能回答视觉工作室调试器的堆栈内存最大容量是什么,但它确实提供了解决问题的方法。

我希望这会对某人有所帮助。