2012-10-15 6 views
9

私はC++アプリケーションを持っています。ビジュアルスタジオアプリケーションの起動時にF5キーを押すと、それをデバッグできます。しかし、私はWindowsエクスプローラからアプリケーションを実行し、Visual Studioでこのプロセスをアタッチすると、ブレークポイントがヒットすることがあります(完全に赤色ですが、ブレークポイントはヒットしません)。モジュールウィンドウが表示されたら、そこには何も存在しません。問題は何ですか?プロセスに接続するときにVisual Studioがモジュールを読み込まない

答えて

22

コードの種類を確認するVisual Studioでシンボルを読み込むように構成されています。 [プロセスにアタッチ]ダイアログには、読み込むシンボルを指定する[コードタイプの選択]オプションがあります。ここでは、管理シンボルやネイティブシンボルを選択できます。

また、同じバージョンのアセンブリである必要があります。

+0

私は自動的にプロセスにアタッチするオプションを選択しました。それは大丈夫ですか、私はネイティブを選択しなければならないと明示しなければなりません。 –

+0

他のオプションに変更してみてください。管理されたv4.0および/またはネイティブ。 – jags

+0

Managed V4とネイティブコードを選択しましたが、今は正常に動作しています。自動選択がうまく機能しなかった理由を教えてください。 –

0

デバッグ中の実行可能コード(F5)がエクスプローラから実行しているものと同じではないようです。実行している実行可能ファイルの日付を確認します。また、DLLを使用している場合は、別のバージョンのDLLを取得している可能性があります。 DLLファイルの名前を変更して、エクスプローラから実行してみてください。 depends.exeを使用して、どのモジュールがロードされているかを確認してください。

+0

日付は同じですが、デバッガでアプリケーションを実行すると「x86」と処理されますが、Windowsエクスプローラでエクスプローラを起動すると、エクスプローラに「管理(v4)、x86」と表示されます。 –

関連する問題