<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 7, 2015 at 8:03 PM, Bruce Mitchener via lldb-dev <span dir="ltr"><<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">In the LLDB project, you have 3 different defines:<div><br></div><div><div>LLDB_CONFIGURATION_DEBUG</div><div>LLDB_CONFIGURATION_RELEASE<br></div><div>LLDB_CONFIGURATION_BUILD_AND_INTEGRATION</div></div><div><br></div><div>I can easily set this up to be set for the various build types in cmake, but I'd like to make sure we all agree about what should happen first:</div><div><br></div><div>CMAKE_BUILD_TYPE = Debug: Add LLDB_CONFIGURATION_DEBUG</div><div>CMAKE_BUILD_TYPE = RelWithDebinfo: Add LLDB_CONFIGURATION_RELEASE</div><div>CMAKE_BUILD_TYPE = Release: Add LLDB_CONFIGURATION_BUILD_AND_INTEGRATION</div></div></blockquote><div><br></div><div>For Release, you will not want to use LLDB_CONFIGURATION_BUILD_AND_INTEGRATION.  That has a very specific meaning in Apple-land and that skips several steps under assumptions that do not hold true for developer builds (at least on the Xcode side).  Pretty much don't ever use that for local builds.  I think we would want to use LLDB_CONFIGURATION_RELEASE here.</div><div><br></div><div>> CMAKE_BUILD_TYPE = RelWithDebinfo: Add LLDB_CONFIGURATION_RELEASE</div><div><br></div><div>For that one, does the LLDB_CONFIGURATION_RELEASE contain debug info?  If it doesn't, we'd want to arrange for debug info to be there.</div><div><br></div><div>FWIW - I'm looking at getting full symbols into liblldb.so in cmake builds under some condition so that items like:</div><div>'log enable --stack ...' actually have the symbols in liblldb.so (as you and I were discussing on another thread).  Assuming I can get that working, we'll have an orthogonal dimension of debuginfo, for the normally private bits.  Essentially something like LLDB_EXPORT_LIBLLDB_PRIVATE_SYMBOLS or some such thing...</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>This seems right to me as there are some usages of LLDB_CONFIGURATION_RELEASE that appear to be useful with debugging.</div><div><br></div><div>Does that seem to be correct?</div><div><br></div><div> - Bruce</div><div><br></div></div><div class=""><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 8, 2015 at 2:44 AM, Greg Clayton via lldb-dev <span dir="ltr"><<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">We set this manually in the Xcode project for "Debug" and "DebugClang" build variants. The cmake should be able to do the same, but I am not sure if it is. Feel free to make it do so. I am not very good with cmake, so I won't be much help.<br>
<br>
Greg<br>
<div><div><br>
> On Oct 7, 2015, at 11:09 AM, Eugene Birukov <<a href="mailto:eugenebi@hotmail.com" target="_blank">eugenebi@hotmail.com</a>> wrote:<br>
><br>
> Thanks!<br>
><br>
> A newbie question then: how to trigger LLDB_CONFIGURATION_DEBUG when I run cmake? I am sure that I built debug version, but packet timeout is still 1 to me.<br>
><br>
> (gdb) p m_packet_timeout<br>
> $1 = 1<br>
><br>
><br>
> > Subject: Re: [lldb-dev] How to debug LLDB server?<br>
> > From: <a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a><br>
> > Date: Wed, 7 Oct 2015 11:04:45 -0700<br>
> > CC: <a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
> > To: <a href="mailto:eugenebi@hotmail.com" target="_blank">eugenebi@hotmail.com</a><br>
> ><br>
> > Most calls for lldb-server should use an instance variable GDBRemoteCommunication::m_packet_timeout which you could then modify. But this timeout you are talking about is the time that the expression can take when running. I would just bump these up temporarily while you are debugging to avoid the timeouts. Just don't check it in.<br>
> ><br>
> > So for GDB Remote packets, we already bump the timeout up in the GDBRemoteCommunication constructor:<br>
> ><br>
> > #ifdef LLDB_CONFIGURATION_DEBUG<br>
> > m_packet_timeout (1000),<br>
> > #else<br>
> > m_packet_timeout (1),<br>
> > #endif<br>
> ><br>
> ><br>
> > Anything else is probably expression timeouts and you will need to manually bump those up in order to debug, or you could do the same thing as the GDB Remote in InferiorCallPOSIX.cpp:<br>
> ><br>
> > #ifdef LLDB_CONFIGURATION_DEBUG<br>
> > options.SetTimeoutUsec(50000000);<br>
> > #else<br>
> > options.SetTimeoutUsec(500000);<br>
> > #endif<br>
> ><br>
> ><br>
> > > On Oct 7, 2015, at 10:33 AM, Eugene Birukov via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>> wrote:<br>
> > ><br>
> > > Hello,<br>
> > ><br>
> > > I am trying to see what is going inside LLDB server 3.7.0 but there are a lot of timeouts scattered everywhere. Say, InferiorCallPOSIX.cpp:74 sets hard-coded timeout to 500,000us, etc. These timeouts fire if I spend any time on breakpoint inside server and make debugging experience miserable. Is there any way to turn them all off?<br>
> > ><br>
> > > BTW, I am using LLDB as a C++ API, not as standalone program, but I have debugger attached to it and can alter its memory state.<br>
> > ><br>
> > > Thanks,<br>
> > > Eugene<br>
> > ><br>
> > > _______________________________________________<br>
> > > lldb-dev mailing list<br>
> > > <a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
> > > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
> ><br>
<br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
</div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">-Todd</div></div>
</div></div>