【发布时间】:2016-02-20 02:25:15
【问题描述】:
在 Visual Studio (2010) 中调试我的项目时,一旦我进入其中一个文件,就会收到消息“没有可用的源代码”。该文件现在只是一个具有一个功能的测试文件:
void foo()
{
float testbuf[200000] = {0};
}
如果我分配一个较小的缓冲区,调试器会正常进入文件。 在我的调试视图中,我的“调用堆栈位置”是空的,并且“没有可用的反汇编”。
在我看来,Visual Studio 调试器可以处理的数据量已经达到了最大值。
谁能告诉我这是否是问题以及如何解决它。也许一些 Visual Studio 设置可以帮助我?
【问题讨论】:
-
首先,你为什么要用快6岁的VS2010?
DEFINE_1024和DEFINE_6是什么?您是否在调试模式下运行(禁用优化,启用调试信息)?你能生成一个MCVE吗? -
你必须给出上下文,甚至不清楚你是否用这些数组搞砸了堆栈,或者机器只是因为你在 float[] 声明中使用 sizeof(double) 而生气.轰炸时的调用堆栈也很重要。
-
我不知道问题是什么,但是有一个
float的数组,其大小是由double中的字节数计算的,这似乎很奇怪。 (当然,如果大小是由float中的字节数计算的,那同样奇怪。) -
我将代码示例简化到最低限度,所以我希望它现在是 MCVE。我也认为这几乎不可能是代码/语法问题。
-
这是一个发布版本,其中该方法已被优化掉,因为它没有做任何事情?
标签: visual-studio visual-studio-2010 debugging stack visual-studio-debugging