C++ で記述されたプログラム (.exe) をデバッグしようとしています。このプログラムはコンソール アプリケーションであり、数学指向のシミュレーションであり、GUI やインターフェイス コードはありません。Win 7 (64 ビット) の Visual Studio 2008 でコンパイルされたこのプログラムで、VS のソリューション エクスプローラーから実行可能ファイルを右クリックし、[新しいインスタンスにステップイン] を選択して、デバッグ セッションを開始しようとしています。ただし、コードの最初の行が実行される前に、Visual Studio は「sim.exe の 0x00000001401b3937 で未処理の例外: 0xC00000FD: スタック オーバーフロー」を報告します。コードの最初の数行のスニペットを次に示します。
int_T main(int_T argc, const char_T *argv[])
{
SimData thisSim;
int InputFlag = 0;
デバッガーの矢印は、最初の山かっこを指しています。
分解ビューのスナップショットを次に示します。
int_T main(int_T argc, const char_T *argv[]) { 0000000140141930 mov qword ptr [rsp+10h],rdx 0000000140141935 mov dword ptr [rsp+8],ecx 0000000140141939 push rsi 000000014014193A push rdi 000000014014193B mov eax,1120C8h 0000000140141940 call __chkstk (1401B3900h) 0000000140141945 sub rsp,rax <------DEBUGGER IS STOPPED HERE 0000000140141948 mov rax,qword ptr [__security_cookie (1401F7050h)] 000000014014194F xor rax,rsp 0000000140141952 mov qword ptr [rsp+1120B0h],rax /////////////////////////////////////////////////////////////////////////// /* Initialize Instance of SimData */ SimData thisSim; int InputFlag = 0; 000000014014195A mov dword ptr [rsp+20h],0
私は Visual Studio の専門家ではありませんが、過去にデバッグを行うために Visual Studio をかなり使用してきましたが、このような動作は見たことがありません。
続行する方法について何か考えはありますか?