[lldb-dev] Using LLDB C++ API for automated debugging sessions

Greg Clayton via lldb-dev lldb-dev at lists.llvm.org
Fri Jul 12 10:56:12 PDT 2019


You need to call SBDebugger::Initialize() before calling SBDebugger::Create().

Also, please use the SBLaunchInfo method for launching if possible where you create a SBLaunchInfo, then call tgt.Launch() with the instance.

Other than that, as Jim said, you need to setup an event loop if you don't use synchronous mode where you wait for events and respond to events. 

Greg

> On Jun 26, 2019, at 4:58 AM, Jayvee Neumann via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> Dear LLDB developers,
> 
> I am currently stuck while using the C++ API of LLDB. I am unable to correctly launch a process.
> The code I have written looks as follows:
> 
> int main(int argc, char *argv[]){
> LLDBSentry senty;
> SBDebugger dbg(SBDebugger::Create());
> ...
> const char *exeFilePath = "./target";
> const char *arch = "x86_64";
> const char *platform = "";
> const char *dependentLibs = "";	
> SBError error;
> SBTarget tgt = dbg.CreateTarget(exeFilePath, arch, platform, dependentLibs, error);
> ...
> SBListener listen;
> SBProcess proc = tgt.Launch(
> listen,
> nullptr,
> nullptr,
> nullptr,
> "targetout.txt",
> nullptr,
> "./",
> eLaunchFlagExec | eLaunchFlagDebug,
> false,
> error
> );
> ...
> SBThread thread = proc.GetSelectedThread(); // (1)
> ...
> }
> 
> The complete code (usr.cpp) is added as an attachment to this email.
> Its output is also added as a text file (stdout.txt) to this email.
> 
> The problem I have is, that thread.IsValid() returns null after line (1). Furthermore, the process says, that its state is eStateStopped, when asked via proc.IsStopped() it answers "false", however.
> The debugging target is a simple file that writes a hexadecimal number every 10us to stdout. I can see that the target is running, because targetout.txt is growing in size and its content is valid output from "target".
> Can you tell me what my mistake is?
> 
> Kind Regards
> Jayvee
> 
> <usr.cpp><stdout.txt>_______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20190712/006a6145/attachment.html>


More information about the lldb-dev mailing list