Hi,
I am running lldb-4.7 that I built from sources on Linux Ubuntu 14.04.
I am using C++ API to debug my program. The program runs into different events: breakpoints I set, signals. But all threads always returnIsStopped() as false in any program state. I traced this call and it seems that the thread state is eStateUnloaded. The only place I found that changes thread state in Thread.cpp is this method:
void
Thread::SetState(StateType state)
{
Mutex::Locker locker(m_state_mutex);
m_state = state;
}
So, I put breakpoint there and it is never hit. I tried to put similar breakpoint in lldb-server, but it seems that the method is not present here:
(gdb) b lldb_private::Target::SetS
SetSectionLoadAddress(std::shared_ptr<lldb_private::Section> const&, unsigned long, bool)
SetSectionUnloaded(std::shared_ptr<lldb_private::Section> const&)
SetSectionUnloaded(std::shared_ptr<lldb_private::Section> const&, unsigned long)
SetStopHookActiveStateByID(unsigned long, bool)
(gdb) b lldb_private::Target::SetState
Function “lldb_private::Target::SetState” not defined.
Make breakpoint pending on future shared library load? (y or [n])
So far, this seems broken to me.
Thanks,
Eugene