<div dir="ltr">Perfect, thanks!<div><br></div><div>Technically I'll be using whatever the Android NDK gdbserver is - I'll need to track down what (if any) patches are applied to that.</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Nov 20, 2013 at 3:56 PM, Greg Clayton <span dir="ltr"><<a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If you are going to use a stock gdbserver binary, you will need to make a target definition python file. We have a few examples checked in:<br>
<br>
svn cat <a href="http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/x86_64_linux_target_definition.py" target="_blank">http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/x86_64_linux_target_definition.py</a><br>

svn cat <a href="http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/x86_64_target_definition.py" target="_blank">http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/x86_64_target_definition.py</a><br>
<br>
When debugging using GDB, you will first need to see the exact registers that the gdbserver supplies:<br>
<br>
(gdb) maint print raw-registers<br>
<br>
Then you will need to make a register definition file based off of that and point lldb to use it:<br>
<br>
(lldb) settings set plugin.process.gdb-remote.target-definition-file /path/to/trunk/examples/python/x86_64_target_definition.py<br>
<br>
Then LLDB will be able to debug to a remote gdb server that doesn't support any of the dynamic register definition packets.<br>
<span class="HOEnZb"><font color="#888888"><br>
Greg<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
On Nov 20, 2013, at 2:50 PM, Todd Fiala <<a href="mailto:tfiala@google.com">tfiala@google.com</a>> wrote:<br>
<br>
> Great, thanks Andy.  Right now I'm just at the point of using the stock adb/gdbserver and see what that looks like.  I'll definitely be looking at your patch in a bit here :-)<br>
><br>
><br>
> On Wed, Nov 20, 2013 at 2:39 PM, Kaylor, Andrew <<a href="mailto:andrew.kaylor@intel.com">andrew.kaylor@intel.com</a>> wrote:<br>
> Take a look at the patch I sent you.  It uses an lldb platform based on ADB to set up the port forwarding and possibly copy files then connects to gdbserver.  The implementation is rough, but the basic idea seemed to work pretty well.  I was using it to copy over and launch a new version of gdbserver because the one that came with the x86 emulator at the time didn’t work.<br>

><br>
><br>
><br>
> -Andy<br>
><br>
><br>
><br>
> From: <a href="mailto:lldb-dev-bounces@cs.uiuc.edu">lldb-dev-bounces@cs.uiuc.edu</a> [mailto:<a href="mailto:lldb-dev-bounces@cs.uiuc.edu">lldb-dev-bounces@cs.uiuc.edu</a>] On Behalf Of Todd Fiala<br>
> Sent: Wednesday, November 20, 2013 2:19 PM<br>
> To: Greg Clayton<br>
> Cc: lldb-dev<br>
> Subject: Re: [lldb-dev] LLDB for Android initiative<br>
><br>
><br>
><br>
> ><br>
> > There is probably some amount of overlap in lldb-platform and what we currently do with adb (Android Debug Bridge).  Eventually I'll need to figure out what makes sense to speed up the compile/deploy/debug/fix cycle.<br>

><br>
> You can make a new platform named "remote-andriod" that can talk to adb, and just skip using the "lldb-platform" binary. Anything that is missing in that we need in the lldb_private::Platform class could then be added to adb, and if we are missing anything in the lldb_private::Platform compared to adb we could add to the platform API. How do you communicate with adb? Sockets?<br>

><br>
><br>
><br>
> ADB runs on the host/local side, and it knows how to forward ports to devices (typically over USB).  So, we talk to the local ADB port that then forwards communication to the actual device.  I'll need to have a look at the guts of it - it might make sense to only use it as a port forwarder and go with an lldb-platform on the device side and just stick with that.  I'll have a deeper look at that once I get Android gdbserver (or equivalent) working.<br>

><br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
</div></div><div class="HOEnZb"><div class="h5">> _______________________________________________<br>
> lldb-dev mailing list<br>
> <a href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
<br>
</div></div></blockquote></div><br></div>