2011-05-17 30 views
1

私はVC6からVS 2008にアプリケーションを移植しました。私はリリースビルドでアプリケーションを再構築しました。 Pdbファイルは、exeが置かれているフォルダで使用できます。しかし、原因が何であるかブレークポイントがヒットしない

私は、アプリケーションをロードし、ブレークポイントを入れて、私は次のようなメッセージ

を取得しています「ブレークポイントは現在hit.Noシンボルは、このドキュメントのためにロードされたことはありません」とき問題?

+0

__asm int 13を使用するだけです。 –

答えて

0

PDBは

デバッグ情報は、あなたがしなければならない場合、それを有効にすることができますが、原因コンパイラの最適化に驚くべき効果を予想しなければならないのに(リリースビルドに通常存在しない、あなたはおそらく、リリースビルドとは関係ありません言及ファイル)。

したがって、ブレークポイントは、既知のDLLエントリポイントでのみ設定できます(モジュールリストビューから可能です.Visual Studioを集中的に使用してからしばらくありました)またはアセンブリ命令で直接ブレークポイントを設定できます。

アプリケーションの一部をデバッグシンボルでコンパイルすることもできます。

+0

VC2008では、オフにしない限り、デフォルトでデバッグ情報が生成されます。 –

+0

pdbファイルはexeの一部として生成され、コンパイラの最適化は有効になっていません。私は今どうすればいい? – Maanu

+1

@ John Dibling:VC 6.0から移植されたバージョンでは有効になっていませんでした。だから私はそれを可能にした。 – Maanu

1

デバッガーがアプリケーションまたはPDBのいずれも見つけることができませんでした。

プログラムを起動すると、正確にどのバイナリがロードされているかが出力ウィンドウに表示されます。正しいファイルがロードされていることを確認してください。

'hacks_vs10.exe':ロード 「C:\ Users \ユーザージョン\ Visual Studioの\ドキュメントプロジェクト\ 2010 \ hacks_vs10 \ x64の\デバッグ\ hacks_vs10すべての負荷が適切に、出力はこのような何かを検索する場合.exe '、 シンボルがロードされました。 PDBが見つからない

、代わりにそれが言う「シンボルがロードされた」というのが:

PDBファイルを検索したり、開くことができませんあなたが最初に実行されていることを確認してください正しいバージョンのアプリケーション(実行中のパスを確認してください)を開き、PDBがそのディレクトリにあることを確認します。 "プロジェクト>プロパティ...>リンカ>プログラムデータベースファイルを生成"を微調整することで、PDBの生成場所を変更することができます。

+0

「HoTSim2.0.exe」というメッセージが表示されます。「D:\ Projects \ AsWorxSim \ Bin \ Release \ HoTSim2.0.exe」が読み込まれ、シンボルが読み込まれました。まだブレークポイントはヒットしません – Maanu

1

ブレークポイントを設定したソースの場所に関連付けられたコードが見つかりませんでした。

これにはいくつかの理由があります。私が最も頻繁に見つけたのは、(プリプロセッサの条件やデッドコードの削除のために)本当にコンパイルされていないコードのセクションでした。

他の理由も考えられます(たとえば、理論的にはインライン展開ではコンパイラがすべてのインラインの適切なマッピングを生成できますが、私はここでVS2008が何をするのか分かりません)。

実行するはずのコードパスにブレークポイントを設定してもよろしいですか?

+0

デバッガは私の経験上、ちょうど良いインラインで対処することができます。 – Puppy

+0

@DeadMG:過去にいくつかの問題があったことは確かです。しかし、簡単なテストが機能します。あなたのご意見ありがとうございます。 – Bahbar

0

私はちょうど私が再度参照されるすべての私のDLLの

  • は(「ビルドと実行」、ツール - >オプション、「プロジェクトおよびソリューション」)に行って、一連の「類似した問題

    • を解決しましたプロジェクトが古くなったときに実行する」から「ビルドを促す」へ

    これらのうちどれが問題が解決されたかはわかりませんが、それはどうでしたか?

  • 関連する問題