<div dir="ltr">> <span style="font-family:arial,sans-serif;font-size:12.727272033691406px">I'll look for #2.</span><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div>
<span style="font-family:arial,sans-serif;font-size:12.727272033691406px">I just scanned through the gdbremote protocol docs <a href="https://sourceware.org/gdb/onlinedocs/gdb/Packets.html#Packets">here</a>.  I may have missed it, but searching process-id, "process id", and pid in the packets and didn't see any way to query for the process id using just what was documented.  </span></div>
<div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">It looks possible to get the data indirectly if multiprocess extensions are enabled and supported by both the stub and the client, in which case some stop replies can contain the process:{pid} key/value.  Seems like implementing qProcessInfo is the easier way to go here though since the multiprocess extensions seem to change behavior of several of the other packets.</span></div>
<div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">-Todd</span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br>
</span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">-Todd</span></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Mon, May 12, 2014 at 8:06 AM, Todd Fiala <span dir="ltr"><<a href="mailto:tfiala@google.com" target="_blank">tfiala@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Okay, looking back at your packet log:<div class=""><div><br></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">127.000.000.001.07778-127.000.</span><u style="font-family:arial,sans-serif;font-size:12.727272033691406px"></u><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">000.001.43138: $#00</span><br style="font-family:arial,sans-serif;font-size:12.727272033691406px">

<span style="font-family:arial,sans-serif;font-size:12.727272033691406px">127.000.000.001.43138-127.000.</span><u style="font-family:arial,sans-serif;font-size:12.727272033691406px"></u><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">000.001.07778: $qProcessInfo#dc</span><br style="font-family:arial,sans-serif;font-size:12.727272033691406px">

<span style="font-family:arial,sans-serif;font-size:12.727272033691406px">127.000.000.001.07778-127.000.</span><u style="font-family:arial,sans-serif;font-size:12.727272033691406px"></u><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">000.001.43138: $#00</span><br style="font-family:arial,sans-serif;font-size:12.727272033691406px">

<span style="font-family:arial,sans-serif;font-size:12.727272033691406px">127.000.000.001.43138-127.000.</span><u style="font-family:arial,sans-serif;font-size:12.727272033691406px"></u><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">000.001.07778: $qProcessInfo#dc</span><br style="font-family:arial,sans-serif;font-size:12.727272033691406px">

<span style="font-family:arial,sans-serif;font-size:12.727272033691406px">127.000.000.001.07778-127.000.</span><u style="font-family:arial,sans-serif;font-size:12.727272033691406px"></u><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">000.001.43138: $#00</span><br style="font-family:arial,sans-serif;font-size:12.727272033691406px">

</div><div><br></div></div><div>Couple options here:</div><div><br></div><div>1. implement qProcessInfo in your custom remote monitor.  The only key-value pair we're looking for in this case is the pid:{process-id} pair as far as retrieving the process id goes.  If you're in control of the remote, this will be your fastest option for getting a resolution.</div>

<div><br></div><div>2. we find the gdbremote command present in the stock gdbremote protocol set that gives us the process id (and this is not $qC) and fall back to that if qProcessInfo is not supported.</div><div><br></div>

<div>I'll look for #2.  Probably best for you to implement $qProcessInfo if it's an option for you.  RNBRemote.cpp has the handler for it in debugserver and GDBRemoteCommunicationServer.cpp has it for llgs in that other branch from the prior email (soon to go upstream).</div>

<div><br></div><div>Hope that helps!</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Todd</div><div><br></div><div><br></div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra">
<br><br><div class="gmail_quote">On Mon, May 12, 2014 at 7:44 AM, Todd Fiala <span dir="ltr"><<a href="mailto:tfiala@google.com" target="_blank">tfiala@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This is a change I made.<div><br></div><div>qC is supposed to return the thread id, not the process id.</div>

<div><br></div><div>qProcessInfo is being used now to collect the process id.  We added a fallback so that if the process info request fails, on Apple/iOS we fall back to the older qC (which, as indicated before, used to return the process id erroneously, see the gdb remote documentation).</div>


<div><br></div><div>Let me know what path you're not getting the getting process info when you would expect it.  I've got some protocol tests on it in test/tools/lldb-gdbserver where it runs with a @debugserver_test (on MacOSX) and @llgs_test (on the llgs branch <a href="https://github.com/tfiala/lldb/tree/dev-tfiala-native-protocol-linux-x86_64" target="_blank">here</a>).  Sounds like we're maybe missing a case somewhere.</div>


<div><br></div><div>Is the context that you're launching new inferior or an attaching to existing inferior?</div><div><br></div><div>Thanks!</div><div><br></div><div>-Todd</div></div><div class="gmail_extra"><div><div>

<br><br><div class="gmail_quote">
On Mon, May 12, 2014 at 6:47 AM, Matthew Gardiner <span dir="ltr"><<a href="mailto:mg11@csr.com" target="_blank">mg11@csr.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Is this omission by design or is it a bug?<br>
</blockquote></div>
I've now found that GDBRemoteCommunicationClient::<u></u>GetCurrentProcessID() has been reworked recently, and that it what has caused the breakage I've witnessed.<br>
<br>
Matt<div><div><br>
<br>
<br>
<br>
Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom<br>



More information can be found at <a href="http://www.csr.com" target="_blank">www.csr.com</a>. Keep up to date with CSR on our technical blog, <a href="http://www.csr.com/blog" target="_blank">www.csr.com/blog</a>, CSR people blog, <a href="http://www.csr.com/people" target="_blank">www.csr.com/people</a>, YouTube, <a href="http://www.youtube.com/user/CSRplc" target="_blank">www.youtube.com/user/CSRplc</a>, Facebook, <a href="http://www.facebook.com/pages/CSR/191038434253534" target="_blank">www.facebook.com/pages/CSR/<u></u>191038434253534</a>, or follow us on Twitter at <a href="http://www.twitter.com/CSR_plc" target="_blank">www.twitter.com/CSR_plc</a>.<br>



New for 2014, you can now access the wide range of products powered by aptX at <a href="http://www.aptx.com" target="_blank">www.aptx.com</a>.<br>
______________________________<u></u>_________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">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/<u></u>mailman/listinfo/lldb-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'">

<tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">
<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>


<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>


<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">

<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>

<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>

<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">
<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>