<div dir="ltr">Hey Russell,<div><br></div><div>I'll have a look at those patches sometime over the next couple days and get back here.</div><div><br></div><div>Thanks for sharing them!</div><div><br></div><div>Sincerely,</div><div>Todd Fiala</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 26, 2014 at 9:56 AM,  <span dir="ltr"><<a href="mailto:eatnumber1@google.com" target="_blank">eatnumber1@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey everyone,<br>
<br>
I've got some preliminary but functioning work in place in order to support<br>
self-debugging. Immediately forthcoming is two patches, summarized below, which<br>
implement basic support for self-debugging on Linux. I've leveraged the<br>
ProcessMonitor architecture on Linux in order to do this, so the first patch is<br>
a refactor of ProcessMonitor to allow me to create a different implementation of<br>
it. The second patch actually fills in the self-debugging implementation.<br>
<br>
[PATCH 1/2] Refactor ProcessMonitor into an abstract base class.<br>
[PATCH 2/2] Support debugging yourself on Linux.<br>
<br>
There's still some issues:<br>
 * I needed to disable JITLoaderGDB [1] in order to prevent lldb from attempting<br>
   to set a breakpoint at attach. I'm also not clear on what JITLoaderGDB does<br>
   even after perusing the code, so I'm not sure if disabling it is the right<br>
   thing to do.<br>
 * I needed to disable LLDB copying it's stdin to it's inferior's [1] as it<br>
   would result in multiple threads reading from stdin - making it impossible to<br>
   use the prompt. This behavior makes sense to me if the debugee is launched<br>
   from LLDB, but I'm not clear on why LLDB attempts to do it when you've<br>
   attached to your debugee.<br>
 * "thread list" returns nothing. I think there's a larger problem here. Needs<br>
   investigation.<br>
<br>
Thanks,<br>
Russ Harmon<br>
<br>
[1]: <a href="https://gist.github.com/anonymous/188533a776226257206f" target="_blank">https://gist.github.com/anonymous/188533a776226257206f</a><br>
_______________________________________________<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>
</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>