x64 Platform Bug? Call Stack doesn't show. - by minoos

Status : 

  Fixed<br /><br />
		This item has been fixed in the current or upcoming version of this product.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.

Sign in
to vote
ID 776314 Comments
Status Closed Workarounds
Type Bug Repros 0
Opened 1/11/2013 2:01:05 AM
Access Restriction Public


Sorry, I can't write english, well.

I use Visual Studio 2010. But this bug occured VS2012, too.

@Configuration / Platform : Debug / x64 ( release or x86 is good. )

code is very simple.

If Stack Size is larger than "530000", Debugger do not show "Call Stack".


void func()
	char s[800000]; // <-- debug step to here. occured @ 530000bytes~
	printf("%d\n", s[0]);

int _tmain(int argc, _TCHAR* argv[])
	int a = 0;


	return 0;
Sign in to post a comment.
Posted by Deon [MSFT] on 4/29/2014 at 12:29 PM
Thank you for reporting this issue. This issue has been fixed in Visual Studio 2013. You can install a trial version of Visual Studio 2013 with the fix from: http://go.microsoft.com/?linkid=9832436
Posted by YongKang [MSFT] on 2/11/2013 at 8:54 PM
We have identified and fixed the problem in our stack unwinding engine. The fix will definitely be included in our next major release. Meanwhile we are considering whether to include this fix in our upcoming VS 2012 VSUpdate.

Thank you very much for taking the time to report this problem to us.

YongKang Zhu
VC++ CodeGen and Tools

Posted by Microsoft on 1/16/2013 at 1:43 AM
Thank you for submitting feedback on Visual Studio and .NET Framework. Your issue has been routed to the appropriate VS development team for investigation. We will contact you if we require any additional information.
Posted by minoos on 1/14/2013 at 12:28 AM
Simplest sample code is here,


#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
    char s[800000];

    s[0] = 0;


and, just click F11 ( Step Into )... call stack contents is empty. ( 64bit debug )
Posted by minoos on 1/14/2013 at 12:23 AM
in disaseembly window,

void func()
000000013F903040 push        rdi
000000013F903042 mov         eax,0C3550h
000000013F903047 call        __chkstk (13F901260h)
000000013F90304C sub         rsp,rax <-- after step here, call stack is clear.
000000013F90304F mov         rdi,rsp
000000013F903052 mov         ecx,30D54h
000000013F903057 mov         eax,0CCCCCCCCh
000000013F90305C rep stos    dword ptr [rdi]
000000013F90305E mov         rax,qword ptr [__security_cookie (13F909028h)]
000000013F903065 xor         rax,rsp
000000013F903068 mov         qword ptr [rsp+0C3540h],rax
Posted by minoos on 1/14/2013 at 12:21 AM
Hi minoos, thanks for submitting feedback on Visual Studio and .Net Framework. Do you mean you can't open the Call Stack window?
>> No, Call Stack Window is Opened. But, Window Content is empty. Like as call stack is broken.

at 32bit debug, call stack is >

    TestHeap3.exe!wmain(int argc, wchar_t * * argv) line 17    C++
    TestHeap3.exe!__tmainCRTStartup() line 552 + 0x19 bytes    C
    TestHeap3.exe!wmainCRTStartup() line 371    C

but at 64bit debug, call stack is empty.
and main window represent "No symbols are loaded for any call stack frame. The source code cannot be displayed."

Posted by Microsoft on 1/13/2013 at 10:08 PM
Hi minoos, thanks for submitting feedback on Visual Studio and .Net Framework. Do you mean you can't open the Call Stack window?
Posted by Macy [MSFT] on 1/11/2013 at 2:50 AM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(http://support.microsoft.com)