[lldb-dev] debug server help

Carlo Kok ck at remobjects.com
Sat Sep 15 10:58:24 PDT 2012

Op 14-9-2012 21:45, Greg Clayton schreef:

Thanks for all the help,

>> It does now, thanks... Is there something that should how to
>> proceed from there? (from code or from lldb cmdline)? (ie what's
>> the next step in debugging , get the process, do the first step,
>> work with symbols?, not asking for all of them, just a starting
>> point)
> If you are going to be building an tool that does debugging, I would
> suggest you compile LLDB into a dll on windwos (LLDB.dll) and work
> through the public LLDB API (anything that starts with "lldb::SB"
> (where SB stands for script bridge)). Is there a reasons you were
> coding with the internal API?

I made some mistakes there, I'm using the internal apis now.

> What are you trying to do here? What is the main goal?

Trying to make a gui (Visual Studio plugin) around LLDB for our LLVM 
based language.

There is a good example about how to setup an event
> loop to monitor a process you are debugging in:
> lldb/examples/python/process_events.py
> It is in python, but python also uses the exact same API as is
> available.

Cool, that worked, got it starting, continuing, and fininsh now. Only 
can't get it to break.
It doesn't resolve the address of _main or main, even though at this 
point the a.out is loaded on both the server and client, I stepped 
through it,

when setting the BP, inside:
size_t ObjectFileMachO::ParseSymtab (bool minimize)

"process" is null so it never seems to find any symbols.

Using this:

m_debugger = SBDebugger::Create(false);

m_target = m_debugger.CreateTarget ("\\path\\a.out", 
"x86_64-apple-macosx", NULL, true, m_error);

m_process = m_target.ConnectRemote(SBListener(), 
"connect://", NULL, m_error);

SBBreakpoint bp = m_target.BreakpointCreateByName("_main");

SBCommandReturnObject o;
m_commandline.HandleCommand("breakpoint list", o);
<< shows as not bound yet.

What am I missing?

Carlo Kok

More information about the lldb-dev mailing list