外部ビルドシステム経由でC++開発用のXcodeを使用しています。 Xcode 6.2(lldb 320.4.160)を使用すると、すべて正常に動作し、ブレークポイントを設定することができます。しかし、Xcodeの新しいバージョンにアップグレードしたい場合などです。 7.3(lldb 350.0.21.3)私のブレークポイントはもはやヒットしていません。これまでの私の研究は、新しいlldbが何らかの理由でブレークポイントを設定できないことを私に伝えています。なぜlldb> v320.4.160で自分のソースファイルを見つけることができないのですか?
私は、プログラムの実行を停止し、(lldb) breakpoint list
私の出力は次のようになります入力した後:最後に
Current breakpoints:
1: file = '/full/path/to/src/main.cpp', line = 842, exact_match = 0, locations = 0 (pending)
2: file = '/full/path/to/src/class.cpp', line = 383, exact_match = 0, locations = 0 (pending)
3: file = '/full/path/to/src/Homie.cpp', line = 12, exact_match = 0, locations = 0 (pending)
(pending)
BPが正しく設定できなかったことを示しています。私は今breakpoint set --file main.cpp --line 842
経由lldbにブレークポイントを設定した場合、私は(lldb) breakpoint list
は、次のような出力を与えているのブレークポイントを取得します:
4: file = 'main.cpp', line = 12, exact_match = 0, locations = 1, resolved = 1, hit count = 0
4.1: where = TEST`::__cxx_global_array_dtor() + 29 at main.cpp:842, address = 0x000000010027130d, resolved, hit count = 0
このブレークポイントは、プログラムの実行中にヒットされている - 素敵な
すべてを私がしようとした場合Xcodeを使用して同じ実行可能ファイルにブレークポイントを設定する6.2デバッガは完全なファイルパスでもソースファイルを正常に見つけることができます。
新しいlldbバージョンでブレークポイントが正しく設定されるようにするにはどうすればよいですか?
ありがとうございます!
ええ、それは実際問題でした。どのバイナリにどのようなパスが実際に組み込まれているかを調べる方法をヒントに感謝します。デバッガは 'full/path/to /./ src/main.cpp'を探しましたが、明らかにデバッガでは解決できませんでした。私はmakefileのsrcパスを変更したところ、うまくいきました。 – p0fi