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/
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev