<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>OOPS, on server I tried wrong class, that's why the method is not here. Still, client inspects local m_state to make the call, and it is "unloaded" in cases I inspected.<br><br><div><hr id="stopSpelling">From: eugenebi@hotmail.com<br>To: lldb-dev@cs.uiuc.edu<br>Date: Fri, 5 Jun 2015 14:28:22 -0700<br>Subject: [lldb-dev] SBThread::IsStopped() always returns false on Linux<br><br>
<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}
.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}
--></style>
<div dir="ltr">Hi,<div><br></div><div>I am running lldb-4.7 that I built from sources on Linux Ubuntu 14.04.</div><div><br></div><div>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:</div><div><br></div><blockquote style="border:none;padding:0px;"><div><div><font face="Courier New, sans-serif" size="2">void</font></div></div><div><div><font face="Courier New, sans-serif" size="2">Thread::SetState(StateType state)</font></div></div><div><div><font face="Courier New, sans-serif" size="2">{</font></div></div><div><div><font face="Courier New, sans-serif" size="2"> Mutex::Locker locker(m_state_mutex);</font></div></div><div><div><font face="Courier New, sans-serif" size="2"> m_state = state;</font></div></div><div><div><font face="Courier New, sans-serif" size="2">}</font></div></div></blockquote><div><br></div><div>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:</div><div><br></div><blockquote style="border:none;padding:0px;"><div><div><font size="2" face="Courier New, sans-serif">(gdb) b lldb_private::Target::SetS</font></div></div><div><div><font size="2" face="Courier New, sans-serif">SetSectionLoadAddress(std::shared_ptr<lldb_private::Section> const&, unsigned long, bool)</font></div></div><div><div><font size="2" face="Courier New, sans-serif">SetSectionUnloaded(std::shared_ptr<lldb_private::Section> const&)</font></div></div><div><div><font size="2" face="Courier New, sans-serif">SetSectionUnloaded(std::shared_ptr<lldb_private::Section> const&, unsigned long)</font></div></div><div><div><font size="2" face="Courier New, sans-serif">SetStopHookActiveStateByID(unsigned long, bool)</font></div></div><div><div><font size="2" face="Courier New, sans-serif">(gdb) b lldb_private::Target::SetState</font></div></div><div><div><font size="2" face="Courier New, sans-serif">Function "lldb_private::Target::SetState" not defined.</font></div></div><div><div><font size="2" face="Courier New, sans-serif">Make breakpoint pending on future shared library load? (y or [n])</font></div></div></blockquote><div><br></div><div>So far, this seems broken to me.</div><div><br></div><div>Thanks,</div><div>Eugene</div> </div>
<br>_______________________________________________
lldb-dev mailing list
lldb-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</div> </div></body>
</html>