[lldb-dev] "--fullname" fails to resolve, but "--name" works.
Michael Witten via lldb-dev
lldb-dev at lists.llvm.org
Sun Feb 11 17:24:47 PST 2018
Firstly, here are the characters in our story:
* lldb
$ lldb --version
lldb version 5.0.1
* clang
$ p=/path/to/clang
$ file -L "$p"
/path/to/clang: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3a2da750e90367b294e4219896738fa9b0a285ad, with debug_info, not stripped
$ "$p" --version
clang version 7.0.0 (trunk 324807)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /path/to
Launch "lldb" with the above "clang":
$ lldb "$p"
(lldb) target create "/path/to/clang"
Current executable set to '/path/to/clang' (x86_64).
(lldb)
Now, type the following, where "<TAB>" means that the tab key is pressed
in order to initiate argument completion:
(lldb) breakpoint set --fullname clang::APValue::isMemberPointerT<TAB>
After pegging some CPU cores for an appreciable amount of time, and after
loading GiBs of data into RAM, lldb provides the following completion:
(lldb) breakpoint set --fullname clang::APValue::isMemberPointerToDerivedMember()\ const
Issue the above lldb command (that is, press "<ENTER>") in order to set
a breakpoint that apparently cannot be resolved:
(lldb) breakpoint set --fullname clang::APValue::isMemberPointerToDerivedMember()\ const <ENTER>
Breakpoint 1: no locations (pending).
WARNING: Unable to resolve breakpoint to any actual locations.
Now, try a plain "--name", which works:
(lldb) breakpoint set --name isMemberPointerToDerivedMember<ENTER>
Breakpoint 2: where = clang`clang::APValue::isMemberPointerToDerivedMember() const + 12 at APValue.cpp:623, address = 0x0000000005f6931e
Hmmm...
...
...Hmmm...
...
...... WHAT?!
Sincerely,
Michael Witten
More information about the lldb-dev
mailing list