[lldb-dev] LLDB fails to load C++ Plugin (sharedlib) - error: this file does not represent a loadable dylib

Ted Woodward via lldb-dev lldb-dev at lists.llvm.org
Fri Jun 8 07:16:21 PDT 2018


Also try running
ldd /home/bkebianyor/eclipse-workspace/Model_LLDB_Debugger/Debug/libModel_LLDB_Debugger.so

That will list dependencies that the loader can and cannot resolve.

A possible alternative to a plugin could be to use "breakpoint set -p", which does a regular expression match on the source, so you can set a breakpoint based on the text of an annotation. You could wrap this in a python script if you want to make it into a custom command.

Ted

--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

> -----Original Message-----
> From: lldb-dev [mailto:lldb-dev-bounces at lists.llvm.org] On Behalf Of Pavel
> Labath via lldb-dev
> Sent: Friday, June 08, 2018 5:13 AM
> To: Bewoayia.Kebianyor at offis.de
> Cc: LLDB <lldb-dev at lists.llvm.org>
> Subject: Re: [lldb-dev] LLDB fails to load C++ Plugin (sharedlib) - error: this file
> does not represent a loadable dylib
> 
> I would expect the issue is that dlopen fails to locate the dependent libraries of
> your plugin. Can you lookup the actual dlopen call which opens your library and
> see what is the exact error it fails with?
> On Fri, 8 Jun 2018 at 10:52, Bewoayia Kebianyor via lldb-dev <lldb-
> dev at lists.llvm.org> wrote:
> >
> > Hello Everyone,
> >
> > I started looking into the LLDB with the intention of adding custom commands
> for my SW debugging purpose. For a better Understanding let me explain what
> I intend to do. I have an source file generated automatically from a Model with
> certain anotations added as comments in the code. This code will would be
> compiled and in error cases debugged. When debugging I may have to set
> breakpoints at certain statements in the code based on the anotations incerted
> by the code generator. This is done by specifying the source file and the line
> number. I Use CLANG to get the line number and source file for the comments.
> >
> > I would like to have custom commands for this and internally map the to
> already existing commands  e.g. "breakpoint set -f -l". I found some examples
> for python, and for c++ I only found the example
> "lldb/examples/plugins/commands/fooplugin.cpp" for writing C++ plugin
> (dynLib) shipped with the LLDB source. In this example adding a new
> commands was straight forward and in the DoExecute function, I call the
> interpreter to handle a breakpoint command. I intend to use C++ rather than
> Python.
> >
> > This works fine for a simple shared lib (Simple modification of the Example
> provided in LLDB. In Do execute call interpreter to handle a breakpoint
> command). However if I add other C++ sources which does XML parsing,
> CLANG RecursiveASTVisitor etc to the Library, creating the shared library with
> eclipse is sucessful. I can link the created library to an application and it works
> well. However when I load this in lldb with the command ==> plugin load
> "/home/bkebianyor/eclipse-
> workspace/Model_LLDB_Debugger/Debug/libModel_LLDB_Debugger.so", I get
> the error message: "error: this file does not represent a loadable dylib".
> >
> >
> > #Loading the shared lib that is linked just to the liblldb.so -
> > SUCESSFUL
> > (lldb)
> > (lldb) plugin load
> > /home/bkebianyor/eclipse-workspace/DynLib/Debug/libDynLib.so
> > (lldb)
> >
> > #Loading the shared lib that is linked just to the liblldb.so +
> > libxerces-c-3.2.so - FAILS
> >
> > (lldb) plugin load  "/home/bkebianyor/eclipse-
> workspace/Model_LLDB_Debugger/Debug/libModel_LLDB_Debugger.so"
> > error: this file does not represent a loadable dylib
> >
> > I have searched for this error on google, but could not find out how to resolve
> this error. Most answers pointed to a mismatch of the lldb version in the shared
> lib to be loaded and that linked to lldb, but that is not my case. I am using lldb-
> 5.0.2 and LLVM/CLANG 5.0.2 toolcahin on Linux 16.04.1-Ubuntu and Eclipse
> IDE. LLVM was built with SHARED_LIBS set to ON.
> >
> > Would be grateful for an answer.
> >
> >
> > Thanks and Regards,
> >
> > Bewoayia
> >
> > -------------
> > Dipl.- Ing. Bewoayia Kebianyor
> > Researcher - Hardware/Software Design Methodology Group
> >
> > OFFIS e.V. - Institut für Informatik
> > FuE Bereich Verkehr | R&D Division Transportation Escherweg 2 - 26121
> > Oldenburg - Germany
> > Phone/Fax.: +49 441 9722 237/-278
> > E-Mail: bewoayia.kebianyor at offis.de
> > URL: http://www.offis.de
> >
> > Registergericht: Amtsgericht Oldenburg VR 1956
> > Vorstand: Prof. Dr.-Ing. Wolfgang H. Nebel (Vorsitzender), Prof. Dr.
> > techn. Susanne Boll-Westermann, Prof. Dr. Werner Damm, Prof. Dr.-Ing.
> > Axel Hahn, Prof. Dr.-Ing. Andreas Hein, Prof. Dr. Sebastian Lehnhoff
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev



More information about the lldb-dev mailing list