2017-06-08 5 views
0

この問題は、Windows 7 64ビット+ Visual Studio 2015でOpenImageIOをビルドしようとしたときに発生します。OpenImageIOライブラリのコンパイル済みバイナリには、 、私はその問題を見つけるためにいくつかのソースコードをデバッグしたいと思います。しかし、ブレークポイントはヒットしません。Visual Studio 2015:ブレークポイントがヒットしない、このドキュメントのシンボルがロードされていない

具体的に、私はOpenImageIOをデバッグするために使用されるアプリケーション・コードは、Iラインに実行するときTools\iconvertであり、コードがクラッシュ:

ImageInput *in = ImageInput::open (in_filename.c_str()); 

ImageInput::openの実装は、溶液のプロジェクトOpenImageIOにimageinput.cppに含まれています。私は両方のプロジェクトをデバッグ情報生成を可能にするデバッグ設定でコンパイルしました。しかし、私はライン86でImageInput::openの定義にブレークポイントを設定すると、ブレークポイントは、それが無効であることを示す白、そしてプロンプトがブレークポイントが現在のショー下のスクリーンショットのように、ヒットされていないと言う。 enter image description here

私は他の場所を確認し、iconvertはOpenImageIOライブラリのデバッグバージョンにリンクされていることを明確に示す参照のプロパティのように: enter image description here

また、デバッグ構成は、(私の理解では)正しく設定されています enter image description here

なぜ、ブレークポイントにヒットできないのですか?この問題をどのように修正する必要がありますか?トラブルシューティングのためにさらに情報が必要な場合は、教えてください。どうもありがとう。

+0

プロジェクト全体またはソリューションを構築できましたか? – CodingYoshi

+0

はい、OpenImageIOのソリューション全体を構築しました。 – user5280911

答えて

0

約1年前、Autodesk Maya(Linux上で実行)内で実行されるpythonスクリプトをリモートでデバッグするために、PyCharm(Windowsで実行)を使用しようとしたときに同様の問題が発生しました。後で私はそれがLinuxのパスに起因していることを理解しました。これは、Linuxの検索パスの古いPythonスクリプトで、実行していると思われるソースフォルダのスクリプトの代わりに実行されています。だから私はここの問題は同じでなければならないと思う。

OpenImageIOは、dll形式の多くのサードパーティライブラリに依存しているので、昨日、すべてをC:\ Windows \ system32に入れて検索を容易にしました。しかし、いくつかの問題があったので、今日私はCMakeの設定を変更して再構築し、新しくコンパイルされたdllをOIIOのbinフォルダに置くことで再構築中に私の考えを変えました(私はシステムディレクトリを台無しにしたくありません)。変更を有効にするために、このフォルダをPATHに追加し、問題のある古いDLLをsystem32から削除しました。しかし、私はひとつ欠けていました - ImageInput :: openを担当するOpenImageIO.dll!私は私の記憶をあまりにも信頼しました。私は、日付を作成してファイルをソートする必要があります。

私は最初にそれを知っていませんでしたので、私の以前の経験によれば、最初に、ロードされたDLLが私が作成したものであるかどうかを確認しました。これは、メニューDEBUG-> Windows-> Modules in VS2015で行いました。ああ、そのウィンドウには、ロードされているsystem32のOpenImageIO.dllが表示されていて、何が起きているのかを思い出させてくれました。だから私は古いdllを削除して、すべてが期待どおりに動作しています - 最終的には、Windows 7上でVS2015を使って、すべてのサードパーティのライブラリを含め、最初からソースから64ビットのOpenImageIOを構築することに成功しました。

関連する問題