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