[lldb-dev] lldb doesn't work on centos7
Greg Clayton via lldb-dev
lldb-dev at lists.llvm.org
Fri Dec 4 11:20:54 PST 2015
Yes the debug info does get bigger. But this is better than having the compiler omit the "std::string" definition so that you can't view stuff from the STL.
Greg
> On Nov 24, 2015, at 7:22 PM, 陶征霖 via lldb-dev <lldb-dev at lists.llvm.org> wrote:
>
> Also I found that the size of my program binary increases from 140M to 180M after -fno-limit-debug-info is added. Seems a lot of debug info is added?
>
> 2015-11-25 10:24 GMT+08:00 陶征霖 <zhenglin.taozl at gmail.com>:
> Hi Pavel,
>
> Thanks for your reply. Seems lldb not finding the variable in the first place.
>
> * thread #1: tid = 154, 0x0000000000400e5e a.out`main + 94 at t.cpp:5, name = 'a.out', stop reason = breakpoint 1.1
> frame #0: 0x0000000000400e5e a.out`main + 94 at t.cpp:5
> 2 using namespace std;
> 3 int main() {
> 4 string s = "aa";
> -> 5 cout << s;
> 6 }
> (lldb) frame variable --raw-output s
> (std::__1::string) s = {}
>
> I added -fno-limit-debug-info in my test, and it works now. But why?
>
> Thanks,
> Zhenglin
>
>
>
> 2015-11-24 19:21 GMT+08:00 Pavel Labath <labath at google.com>:
> HI,
>
> a couple of random shots in the dark:
>
> - could you paste the output of "frame variable --raw-output s"? (This
> disables lldb's type formatters. The goal is to see if the problem is
> in the formatter, or in lldb not finding the variable in the first
> place).
>
> - could you compile your test executable with -fno-limit-debug-info
> and see if that helps?
>
> pl
>
>
> On 23 November 2015 at 02:15, 陶征霖 via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> >
> > ---------- Forwarded message ----------
> > From: 陶征霖 <zhenglin.taozl at gmail.com>
> > Date: 2015-11-20 23:10 GMT+08:00
> > Subject: lldb doesn't work on centos7
> > To: llvm-dev at lists.llvm.org
> >
> >
> > Hi,
> >
> > I build llvm+clang+lldb 3.7.0 from source code on centos7, the build command
> > is "cmake -DCMAKE_BUILD_TYPE=Release
> > -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DLLVM_LIBDIR_SUFFIX=64", there is
> > no error during building process.
> >
> > And then I compile following c++ code using command "clang++ -std=c++11
> > -stdlib=libc++ -lc++abi -g t.cpp":
> > // t.cpp
> > #include <iostream>
> > using namespace std;
> > int main() {
> > string s = "aa";
> > cout << s;
> > }
> > Try lldb to debug a.out, found that I can't print string s which shows
> > empty:
> > lldb a.out
> > (lldb) target create "a.out"
> > Current executable set to 'a.out' (x86_64).
> > (lldb) l
> > 4 int main() {
> > 5 string s = "aa";
> > 6 cout << s;
> > 7 }
> > (lldb) b 6
> > Breakpoint 1: where = a.out`main + 94 at t.cpp:6, address =
> > 0x0000000000400e5e
> > (lldb) r
> > Process 150 launched: '/root/a.out' (x86_64)
> > Process 150 stopped
> > * thread #1: tid = 150, 0x0000000000400e5e a.out`main + 94 at t.cpp:6, name
> > = 'a.out', stop reason = breakpoint 1.1
> > frame #0: 0x0000000000400e5e a.out`main + 94 at t.cpp:6
> > 3 using namespace std;
> > 4 int main() {
> > 5 string s = "aa";
> > -> 6 cout << s;
> > 7 }
> > (lldb) p s
> > (std::__1::string) $0 = {}
> >
> > Could you please help point out what's wrong in my env? Thanks.
> >
> > Thanks,
> > Zhenglin
> >
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> >
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
More information about the lldb-dev
mailing list