0

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 をかなり使用してきましたが、このような動作は見たことがありません。

続行する方法について何か考えはありますか?

4

0 に答える 0