- ベストアンサー
VisualStudio2005で中断した際の変数参照値がおかしい
- VisualStudio2005で中断した際の変数参照値がおかしい。VSの環境設定や機能をいじったことが無く、変数の値を参照できる機能で値がおかしくなる。
- VS2005でC++の開発を行っているが、変数の値を参照するとおかしい値が表示される。例えば、ループ内の変数の値が予想外の値になることがある。
- VS2005の環境設定ミスか、根本的な間違いかわからないが、正常に動作しつつ変数の値がおかしくなることで混乱している。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- zwi
- ベストアンサー率56% (730/1282)
異常な値が出るコンパクトな再現コードの用意とvcprojファイルをメモ帳で開いたテキストコードを見せてもらって良いですか? こちらでのWin32コンソールで新規に作った場合のvcprojのConfigurationsを参考にみせますね。 <Configurations> <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="1" > <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="0" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" WarningLevel="3" Detect64BitPortabilityProblems="true" DebugInformationFormat="4" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLinkerTool" LinkIncremental="2" GenerateDebugInformation="true" SubSystem="1" TargetMachine="1" /> <Tool Name="VCALinkTool" /> <Tool Name="VCManifestTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCAppVerifierTool" /> <Tool Name="VCWebDeploymentTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration>
補足
なんだかすごいお手間をおかけしてすみません;; ■proj <?xml version="1.0" encoding="shift_jis"?> <VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="testproj" ProjectGUID="{省略}" > <Platforms><PlatformName="Win32"/></Platforms> <ToolFiles></ToolFiles> <Configurations> <Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" CharacterSet="1" > <ToolName="VCPreBuildEventTool"/> <ToolName="VCCustomBuildTool"/> <ToolName="VCXMLDataGeneratorTool"/> <ToolName="VCWebServiceProxyGeneratorTool"/> <ToolName="VCMIDLTool"/> <Tool Name="VCCLCompilerTool" WarningLevel="3" Detect64BitPortabilityProblems="true" DebugInformationFormat="3" /> <ToolName="VCManagedResourceCompilerTool"/> <ToolName="VCResourceCompilerTool"/> <ToolName="VCPreLinkEventTool"/> <Tool Name="VCLinkerTool" GenerateDebugInformation="true" /> <ToolName="VCALinkTool"/> <ToolName="VCManifestTool"/> <ToolName="VCXDCMakeTool"/> <ToolName="VCBscMakeTool"/> <ToolName="VCFxCopTool"/> <ToolName="VCAppVerifierTool"/> <ToolName="VCWebDeploymentTool"/> <ToolName="VCPostBuildEventTool"/> </Configuration> </Configurations> ■ソース int APIENTRY _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow){ _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); DWORD i,j; MSG msg; HWND hWnd; WNDCLASSEX wcex={sizeof(WNDCLASSEX),CS_HREDRAW|CS_VREDRAW,WndProc,0,0,hInstance,NULL,NULL,(HBRUSH)(COLOR_WINDOW+1),NULL,(_TCHAR*)gName,NULL}; if(!RegisterClassEx(&wcex)) return 0; DWORD WndStyle WS_OVERLAPPEDWINDOW&~(WS_MAXIMIZEBOX|WS_SIZEBOX); RECT WndRect={0,0,600,600}; AdjustWindowRect(&WndRect,WndStyle,false); if(!(hWnd=CreateWindow(gName,gName,WndStyle,CW_USEDEFAULT,0,WndRect.right-WndRect.left,WndRect.bottom-WndRect.top,NULL,NULL,hInstance,NULL))) return 0; ShowWindow(hWnd,SW_SHOW); do{ if(GetAsyncKeyState(VK_ESCAPE)) PostQuitMessage(0); i++; j++; }while(msg.message!=WM_QUIT); return 0; } ソースは無理がありました。手掛かりにはならないかもです。
- zwi
- ベストアンサー率56% (730/1282)
・新規のプロジェクトを作っても同じ問題がありますか? ・どのプロジェクトで作業していますか? どうにも分かりませんので、そこの問題に至るまので新規作成から、デバッグ実行までの手順を書いてください。
補足
何度も申し訳ないです。 手順としては、 ・「ファイル」⇒「新規作成」⇒「プロジェクト」⇒「空のプロジェクト」⇒作成 ・ボーンプログラムをプロジェクトに参加させる ・一度実行して空のウインドウが表示されるか確認する ・中に処理を書き込む ・動作確認がしたいのでブレークして変数を見たら、おかしいことに気が付く といった感じでした。 これといっておかしなことはしていないつもりなのですが……。 >新規のプロジェクトを作っても同じ問題がありますか? 試しに新規でWin32プロジェクトを作成してみたのですが、変数などの代入は問題なく参照できるのですが、一部、ポインタやマクロの数値が取れないみたいです。 動作に問題はないので、問題ないと言えば問題ないのですが……なんだか気持ちが悪くて仕方がないです。参照できないのでウォッチリストに正しい値が入らず、作業効率がどうにも悪いです。
- zwi
- ベストアンサー率56% (730/1282)
リビルドは試されましたか?
補足
リビルドもしました。debugフォルダも一度丸ごと削除してみましたが、結果は同じです。PCを別のにしても変わらないので、何か別なものが原因な気がします。
- zwi
- ベストアンサー率56% (730/1282)
Releaseビルドだとデバッガの変数値は正しくないことが多いです。Debugビルドでしょうか?
補足
Debugです。Releaseも試しましたが同じでした。
お礼
直りました! すばらしい! なるほど。やはり環境設定だったのですね。うーん。ツールの設定くらい、ちゃんと覚えたほうがいいですね。結局は今回、何をしたのかよくわからないです。いつ設定いじったのかも覚えていない始末……。ですがいい薬になりました! もっと設定をいじり倒して、覚えていきたいと思います。 何から何まで丁寧に教えてくださってありがとうございました!