2017-08-02 21 views
0

lldbのプログラムブレークポイント設定を使用しようとしています。コマンドは:lldbブレークポイント設定コマンドが失敗する

(lldb) breakpoint set -r . -s <product-name> 
Breakpoint 25: no locations (pending). 
WARNING: Unable to resolve breakpoint to any actual locations. 

表示されています。わかりますように、ブレークポイントの場所を解決できないという警告が表示されます。私は、デバッグ計画と最適化なしでプロジェクトを実行しています。

この警告の原因は何ですか?

答えて

0

<product-name>が共有ライブラリの場合、まだロードされていない可能性があります。使用:

(lldb) image list <product-name> 

を確認してください。そうであれば、ライブラリがロードされるときにlldbがブレークポイントを解決することを心配しないでください。

また、MyApp.appのモジュール名が実際には "MyApp"であるなど、別のスペルの<product-name>がlldbと異なる場合があります。 break listを行い、その後<product-name>であるあなたが知っている名前にブレークポイントを設定してみてくださいと出力があります:

1.1 where = ModuleName`symbol_name... 

ModuleNameのは、あなたが-sに渡したいものです。

あなたが知っているシンボル名のブレークポイントがどこにも解決されない場合、デバッグする前にバイナリを取り除いている可能性があります。あなたがバイナリ(image listが同様にあなたにこれを教えてくれます)とターミナルにを見つけることによってこれを確認することができ、実行:あなたがここにすべての出力が表示されない場合

$ nm -ap <PathToBinary> 

、バイナリが取り除かなっています。あなたは誰がそれをやっているのか把握する必要があります...

関連する問題