<div dir="ltr">Thanks for the response.  I definitely think it would be great to have this functionality in.  Originally when I started working on LLDB my goal was just to get the test suite up and running 100% (even if all the tests don't pass, at least the test infrastructure would run tests and correctly report pass/fail).  So in hindsight now I'm glad I took this approach instead of working on getting some basic debugging functionality implemented, because then our work would have overlapped.  :)<div><br></div><div>In order to get just very primitive functionality working though, I also created a ProcessWindows, but the only function I implemented was DoLaunch.  So it looks like that will be your biggest merge conflict.  You may also have some issues with method names (I moved alot of stuff from the Host:: namespace to different places) but that is mostly just syntactic and not too much different semantically.</div><div><br></div><div>Let me know if you have any difficulties merging it to trunk, I'm happy to help get this in and review it pre commit.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 21, 2014 at 7:50 AM, Virgile Bello <span dir="ltr"><<a href="mailto:virgile.bello@gmail.com" target="_blank">virgile.bello@gmail.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">Sorry for answering much later (was dragged into other LLVM subprojects recently), but figured I better get this merged before it diverges too much and get lost... (to avoid someone ending up reimplementing everything again from scratch).<div><br></div><div>Anyway, the biggest part of this branch was this commit:</div><div><a href="https://github.com/xen2/lldb/commit/515956244784a9162183a6135068e893ba994532" target="_blank">https://github.com/xen2/lldb/commit/515956244784a9162183a6135068e893ba994532</a>"<br></div><div><br></div><div>It basically added a working implementation of ProcessWindows. It was good enough to debug actual simple Win32 processes that I compiled with GCC (might work on much bigger ones, didn't try it), including multithread single stepping, breakpoints, variable watches, disassembler, etc... Also, if user breaks inside a Win32 call, it could usually step out of it properly as well (but might need improvements -- Win32 ABI support seems to have improved a lot as well in the meantime in LLVM, Clang and GCC/Mingw32 so situation might be easier.</div><div><br></div><div>However some specific parts probably needed rewrite/review.</div><div>Considering it works as a whole, I figured it would be better to first merge it, and rewrite the necessary part while doing the review (probably various part would need better implementations, I might have misunderstood some LLDB internals since I was discovering the project).</div><div><br></div><div>Actually I have already split mostly everything that was not part of ProcessWindows plugin itself, and got it merged to trunk in the past (2013/early 2014).<br></div><div><br></div><div>If I were to split it more, I am afraid it would probably be hard to test/improve because it wouldn't work and be testable (actually it is not _that_ huge, ProcessWindows.cpp, the probably only meaningful file of this commit, is less than a 1000 line).<br></div><div>But I wouldn't mind trying to split it if people prefer it that way (as long as it gets reviewed and merged smoothly).</div><div><br></div><div>Anyway let me know if you want me to try rebase and/or merge it (or not).</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On 28 August 2014 00:11, Zachary Turner <span dir="ltr"><<a href="mailto:zturner@google.com" target="_blank">zturner@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">You are welcome to try to upstream some of your work, but given the work I've done on refactoring the codebase, it might be difficult to do a straight rebase of your fork onto tip.  Instead of a rebase, which would force difficult merges at numerous points, perhaps easier would be to sync to tip and then merge small pieces of your branch directly across.  That said, work on LLDB has become more active recently, in part because of me working on Windows, but due to others as well, and so it may not be appropriate to do one huge merge with thousands of lines making it difficult to review.  Instead, it might be more appropriate (albeit more of an effort on your part) to merge small, isolated pieces of your branch at a time.<div>
<br></div><div>Can you summarize what you've done on your branch and how much actual work you think it is?  Any limitations or known places where you dont' provide all the same functionality that LLDB does for other platforms?</div>
</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 26, 2014 at 5:36 PM, Virgile Bello <span dir="ltr"><<a href="mailto:virgile.bello@gmail.com" target="_blank">virgile.bello@gmail.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">I suppose I should merge my branch back to LLDB trunk at some point?<div>I could rebase & merge the new ProcessWindows and DynamicLoaderWindows plugins (<a href="https://github.com/xen2/lldb/commit/515956244784a9162183a6135068e893ba994532" target="_blank">https://github.com/xen2/lldb/commit/515956244784a9162183a6135068e893ba994532</a>) and keep the other LLDB changes aside for now if they need further discussion?</div>


<div><br></div><div>Or any similar work in the way?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On 17 June 2014 05:45, Eran Ifrah <span dir="ltr"><<a href="mailto:eran.ifrah@gmail.com" target="_blank">eran.ifrah@gmail.com</a>></span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">
<br></div><div class="gmail_extra">

<br><br><div class="gmail_quote"><div>On Mon, Jun 16, 2014 at 9:12 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"><div><br>
> On Jun 14, 2014, at 3:12 AM, Eran Ifrah <<a href="mailto:eran.ifrah@gmail.com" target="_blank">eran.ifrah@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I tried both building lldb with MSVC and with MinGW both failed to debug native Windows executables (I actually tried 3 types of executables, 1 built with MinGW, 1 with clang 3.4 and 1 with Visual Studio)<br>
><br>
> This is the error I am getting:<br>
><br>
> $ lldb D:/src/TestArea/ClangVC/Debug/ClangVC.exe<br>
> error: 'D:/src/TestArea/ClangVC/Debug/ClangVC.exe' doesn't contain any 'host' platform architectures:<br>
> (lldb)<br>
><br>
> So the question is:<br>
> ​Is it possible to use lldb on Windows (for local debugging not remote debugging)<br>
<br>
<br>
</div>No, we currently don't support native debugging on windows as far as I know</blockquote></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">​Thanks for the clarifications.</div>


<div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">

​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">. With MSVC, they emit a proprietary debug information format (in .pdb files) that isn't documented. I am sure a native windows plug-in could be made to support binaries built with gcc or clang, but I don't believe anyone has done this yet.<br>





<span><font color="#888888"><br>
Greg<br>
<br>
</font></span></blockquote></div></div><br><br clear="all"><div><div><br></div>-- <br><div dir="ltr"><font face="verdana, sans-serif">Eran Ifrah<br>Author of codelite, a cross platform open source C/C++ IDE: <a href="http://www.codelite.org" target="_blank">http://www.codelite.org</a><br>




</font><div><font face="verdana, sans-serif">wxCrafter, a wxWidgets RAD: http://<a href="http://wxcrafter.codelite.org" target="_blank">wxcrafter.codelite.org</a></font></div></div>
</div></div></div>
<br></div></div><div>_______________________________________________<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/mailman/listinfo/lldb-dev</a><br>
<br></div></blockquote></div><br></div>
<br>_______________________________________________<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/mailman/listinfo/lldb-dev</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>