I managed to "launch" the process - but it crashes immediately. This happens both with lldb.exe and with my GUI interface See http://pastebin.com/9ep130EQ for detailed backtrace
Thanks On Fri, Apr 1, 2016 at 6:31 AM, Zachary Turner <ztur...@google.com> wrote: > I will have another look tomorrow. > > On Thu, Mar 31, 2016 at 11:56 AM Eran Ifrah <eran.if...@gmail.com> wrote: > >> Ping... >> >> On Mon, Mar 28, 2016 at 10:19 PM, Eran Ifrah <eran.if...@gmail.com> >> wrote: >> >>> Sorry, the current status is that lldb-server is no longer needed, >>> however the debuggee process hangs and the lldb.exe is "froze" (i.e. it >>> does not accept user input) >>> >>> Here is the backtrace: http://pastebin.com/mbLFgCA6 >>> I will try and get lldb built in debug mode for better debugging... but >>> this will take sometime as the generated files are too large to written to >>> the file system - (clang sources) >>> >>> I will teak the CMakeLists.txt files to fix this and will report back >>> In the meantime, if you have any more hints/tips - I will be happy to >>> try them here >>> >>> >>> Thanks >>> >>> >>> >>> On Mon, Mar 28, 2016 at 10:13 PM, Eran Ifrah <eran.if...@gmail.com> >>> wrote: >>> >>>> I was able to locate the problematic >>>> code: ProcessWindowsLive::Initialize() was not called due to wrong macros >>>> http://reviews.llvm.org/D18520 >>>> >>>> >>>> On Mon, Mar 28, 2016 at 9:31 PM, Eran Ifrah <eran.if...@gmail.com> >>>> wrote: >>>> >>>>> Done. >>>>> >>>>> http://reviews.llvm.org/D18519 >>>>> >>>>> >>>>> On Mon, Mar 28, 2016 at 9:28 PM, Zachary Turner <ztur...@google.com> >>>>> wrote: >>>>> >>>>>> Almost, there's one more step. Click Create a New Revision on that >>>>>> screen, then give it a title and a description. For reviewers put >>>>>> zturner, >>>>>> and for subscribers put lldb-commits >>>>>> >>>>>> On Mon, Mar 28, 2016 at 11:20 AM Eran Ifrah <eran.if...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Is this what you meant: >>>>>>> http://reviews.llvm.org/differential/diff/51809/ >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> On Mon, Mar 28, 2016 at 8:58 PM, Zachary Turner <ztur...@google.com> >>>>>>> wrote: >>>>>>> >>>>>>>> For the patch, can you create an account on reviews.llvm.org, and >>>>>>>> upload your patch there? This makes interactive reviewing / commenting >>>>>>>> much easier. Let me know if you need help getting that set up. >>>>>>>> >>>>>>>> On Mon, Mar 28, 2016 at 10:58 AM Zachary Turner <ztur...@google.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> If you compile with MSVC or Clang-cl it wouldn't ask for >>>>>>>>> lldb-server. So most likely there is some code that is using #if >>>>>>>>> defined(_MSC_VER) when it should be using #if >>>>>>>>> defined(LLVM_ON_WINDOWS). >>>>>>>>> >>>>>>>>> You'll have to hunt that down, but a good starting point might be >>>>>>>>> to put a breakpoint in ProcessWindowsLive::CreateInstance and then >>>>>>>>> work >>>>>>>>> backwards to see why that isn't getting called (assuming it's not). >>>>>>>>> >>>>>>>>> On Mon, Mar 28, 2016 at 9:05 AM Eran Ifrah <eran.if...@gmail.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> On Mon, Mar 28, 2016 at 6:56 PM, Zachary Turner < >>>>>>>>>> ztur...@google.com> wrote: >>>>>>>>>> >>>>>>>>>>> Patches welcome. If you can split it into independent pieces >>>>>>>>>>> that would be helpful, but it's not always possible. >>>>>>>>>>> >>>>>>>>>>> Patch is attached, I think you will find it quite straight >>>>>>>>>> forward - feel free to comment and send it back for revise >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> The NativeProcessProtocol error, that's the interface that >>>>>>>>>>> converts debugging events that occur on the inferior into packets >>>>>>>>>>> that can >>>>>>>>>>> be sent to the server, and vice versa. Since Windows doesn't >>>>>>>>>>> currently use >>>>>>>>>>> lldb server, this piece has never been written for Windows >>>>>>>>>> >>>>>>>>>> So this raises the question: how come lldb asks for it? (see my >>>>>>>>>> first emai inl this conversation) >>>>>>>>>> I would have build LLDB in debug mode, but it seems that MinGW >>>>>>>>>> as.exe fails to write some of the files "File too big" >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Mon, Mar 28, 2016 at 8:41 AM Eran Ifrah <eran.if...@gmail.com> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> On Mon, Mar 28, 2016 at 6:10 PM, Zachary Turner < >>>>>>>>>>>> ztur...@google.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> I'm the main Windows maintainer, >>>>>>>>>>>> >>>>>>>>>>>> Hi >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> and while We've gotten things working pretty well on Windows, >>>>>>>>>>>>> our effort has been 100% on building with msvc and/or clang-cl. >>>>>>>>>>>>> Building >>>>>>>>>>>>> with mingw has a different set of pre processor defines and some >>>>>>>>>>>>> other >>>>>>>>>>>>> subtle differences, so it doesn't surprise me that things don't >>>>>>>>>>>>> work quite >>>>>>>>>>>>> right. >>>>>>>>>>>>> >>>>>>>>>>>>> I got it to compile (I have a big patch that I can send you >>>>>>>>>>>> if you are interested) >>>>>>>>>>>> mainly involves blocking code under __MINGW32__ and some >>>>>>>>>>>> updates to the various CMakeLists.txt and AddLLDB.cmake module >>>>>>>>>>>> files >>>>>>>>>>>> Some functions are missing in MinGW implementations (like >>>>>>>>>>>> gets_s and others :/) >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> You can try getting lldb-server to build and run under >>>>>>>>>>>>> Windows, or you can try to get it to use the non lldb server >>>>>>>>>>>>> codepath on >>>>>>>>>>>>> MinGW, but you may still run into some >>>>>>>>>>>> >>>>>>>>>>>> I got lldb-server to compile and run on Windows, however, it >>>>>>>>>>>> crashes immediately and the backtrace shows this: >>>>>>>>>>>> >>>>>>>>>>>> 0 0x0000000000724615 >>>>>>>>>>>> >>>>>>>>>>>> lldb_private::NativeProcessProtocol::Launch(lldb_private::ProcessLaunchInfo&, >>>>>>>>>>>> lldb_private::NativeProcessProtocol::NativeDelegate&, >>>>>>>>>>>> lldb_private::MainLoopBase&, >>>>>>>>>>>> std::shared_ptr<lldb_private::NativeProcessProtocol>&) >>>>>>>>>>>> 1 0x00000000005f815d >>>>>>>>>>>> >>>>>>>>>>>> lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::LaunchProcess() >>>>>>>>>>>> >>>>>>>>>>>> 2 0x00000000004020e5 >>>>>>>>>>>> >>>>>>>>>>>> handle_launch(lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS&, >>>>>>>>>>>> int, char const* const*) >>>>>>>>>>>> 3 0x000000000040335e main_gdbserver(int, char**) >>>>>>>>>>>> 4 0x000000000188329c main >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> I had to #ifndef __MINGW32__ around lldb-platform.cpp as it >>>>>>>>>>>> contains too much Linux code that can not be compiled under >>>>>>>>>>>> Windows (fork, >>>>>>>>>>>> exec*) >>>>>>>>>>>> and basically lldb-server calls the main_gdbserver instead of >>>>>>>>>>>> main_platform function >>>>>>>>>>>> >>>>>>>>>>>> Looking at the function that crashes, I see this: >>>>>>>>>>>> >>>>>>>>>>>> llvm_unreachable("Platform has no NativeProcessProtocol >>>>>>>>>>>> support"); >>>>>>>>>>>> >>>>>>>>>>>> Any ideas? >>>>>>>>>>>> Thanks! >>>>>>>>>>>> >>>>>>>>>>>> issues after that as well, since you're the first person afaik >>>>>>>>>>>>> to try building with MinGW >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> On Sun, Mar 27, 2016 at 10:29 PM Eran Ifrah via lldb-dev < >>>>>>>>>>>>> lldb-dev@lists.llvm.org> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>> >>>>>>>>>>>>>> I have built LLDB on Windows 7 using MinGW64/4.9.2 (took some >>>>>>>>>>>>>> effort to get the job done...) >>>>>>>>>>>>>> When I tried to debug a simple hello world executable, I get >>>>>>>>>>>>>> this output: >>>>>>>>>>>>>> >>>>>>>>>>>>>> D:\software\msys-for-clang\1.0\home\PC\build-release-64-lldb\bin>lldb.exe >>>>>>>>>>>>>> HelloWorld.exe >>>>>>>>>>>>>> (lldb) target create "HelloWorld.exe" >>>>>>>>>>>>>> Current executable set to 'HelloWorld.exe' (x86_64). >>>>>>>>>>>>>> (lldb) b main.cpp:7 >>>>>>>>>>>>>> Breakpoint 1: where = HelloWorld.exe`main + 26 at main.cpp:7, >>>>>>>>>>>>>> address = 0x000000000040154a >>>>>>>>>>>>>> (lldb) r >>>>>>>>>>>>>> error: process launch failed: unable to locate lldb-server >>>>>>>>>>>>>> (lldb) >>>>>>>>>>>>>> >>>>>>>>>>>>>> I can't seem to locate lldb-server anywhere, and according >>>>>>>>>>>>>> to LLDBConfig.cmake, this target should not get built on Windows: >>>>>>>>>>>>>> >>>>>>>>>>>>>> # Figure out if lldb could use lldb-server. If so, then we'll >>>>>>>>>>>>>> # ensure we build lldb-server when an lldb target is being >>>>>>>>>>>>>> built. >>>>>>>>>>>>>> if ((CMAKE_SYSTEM_NAME MATCHES "Darwin") OR >>>>>>>>>>>>>> (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") OR >>>>>>>>>>>>>> (CMAKE_SYSTEM_NAME MATCHES "Linux") OR >>>>>>>>>>>>>> (CMAKE_SYSTEM_NAME MATCHES "NetBSD")) >>>>>>>>>>>>>> set(LLDB_CAN_USE_LLDB_SERVER 1) >>>>>>>>>>>>>> else() >>>>>>>>>>>>>> set(LLDB_CAN_USE_LLDB_SERVER 0) >>>>>>>>>>>>>> endif() >>>>>>>>>>>>>> >>>>>>>>>>>>>> and in the tools/CMakeLists.txt file we have this: >>>>>>>>>>>>>> >>>>>>>>>>>>>> if (LLDB_CAN_USE_LLDB_SERVER) >>>>>>>>>>>>>> add_subdirectory(lldb-server) >>>>>>>>>>>>>> endif() >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Any ideas? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Eran Ifrah, >>>>>>>>>>>>>> Author of >>>>>>>>>>>>>> CodeLite >>>>>>>>>>>>>> , a cross platform open source C/C++ IDE: >>>>>>>>>>>>>> http://www.codelite.org >>>>>>>>>>>>>> CodeLite IDE Blog: http://codeliteide.blogspot.com/ >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>> lldb-dev mailing list >>>>>>>>>>>>>> lldb-dev@lists.llvm.org >>>>>>>>>>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Eran Ifrah, >>>>>>>>>>>> Author of codelite, a cross platform open source C/C++ IDE: >>>>>>>>>>>> http://www.codelite.org >>>>>>>>>>>> CodeLite IDE Blog: http://codeliteide.blogspot.com/ >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Eran Ifrah, >>>>>>>>>> Author of codelite, a cross platform open source C/C++ IDE: >>>>>>>>>> http://www.codelite.org >>>>>>>>>> CodeLite IDE Blog: http://codeliteide.blogspot.com/ >>>>>>>>>> >>>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Eran Ifrah, >>>>>>> Author of codelite, a cross platform open source C/C++ IDE: >>>>>>> http://www.codelite.org >>>>>>> CodeLite IDE Blog: http://codeliteide.blogspot.com/ >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Eran Ifrah, >>>>> Author of codelite, a cross platform open source C/C++ IDE: >>>>> http://www.codelite.org >>>>> CodeLite IDE Blog: http://codeliteide.blogspot.com/ >>>>> >>>> >>>> >>>> >>>> -- >>>> Eran Ifrah, >>>> Author of codelite, a cross platform open source C/C++ IDE: >>>> http://www.codelite.org >>>> CodeLite IDE Blog: http://codeliteide.blogspot.com/ >>>> >>> >>> >>> >>> -- >>> Eran Ifrah, >>> Author of codelite, a cross platform open source C/C++ IDE: >>> http://www.codelite.org >>> CodeLite IDE Blog: http://codeliteide.blogspot.com/ >>> >> >> >> >> -- >> Eran Ifrah, >> Author of codelite, a cross platform open source C/C++ IDE: >> http://www.codelite.org >> CodeLite IDE Blog: http://codeliteide.blogspot.com/ >> > -- Eran Ifrah, Author of codelite, a cross platform open source C/C++ IDE: http://www.codelite.org CodeLite IDE Blog: http://codeliteide.blogspot.com/
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev