web-dev-qa-db-ja.com

LLDBエラー:ブレークポイントを実際の場所に解決できません

LLDBを使用して(どうやらgdbを使用できなくなったため)、コードの一部をデバッグしようとしています...

(lldb) breakpoint set -f file.c -l 65

….

Breakpoint 1: no locations (pending)
WARNING: Unable to resolve breakpoint to any actual locations.

関数にブレークポイントを割り当てるなど、さまざまなことを試しましたが、常に同じエラーが発生します。走っているときは休憩はありません。助けてください!

14
Stone

lldb:ブレークポイントを場所に解決する

outファイルでCode Generation Optionsのデバッグシンボルが有効になっていない場合、ブレークポイントを.cソースファイル内の場所に解決できない可能性があります。

outファイルを作成するときは、デバッグ情報を有効にします。

$ clang -g -O0 file.c -o file
$ lldb file
(lldb) target create "file"
Current executable set to 'file' (x86_64).
(lldb) b file.c:13
Breakpoint 1: where = file`main + 29 at file.c:13, address = 0x0000000100000f4d

-gオプションを使用すると、lldbのファイルに必要なデバッグ情報が追加されます。 breakpoint set -f file.c -l nb file.c:nと省略できます)すると解決するはずです。

-gデバッグ情報を生成します。 Clangのデバッグ情報は-O0で最適に機能することに注意してください。

19
l'L'l