[Lldb-commits] [lldb] r237411 - The StopInfo base class has an m_description std::string.

Pavel Labath labath at google.com
Fri May 15 03:22:12 PDT 2015


Hi all,

I have tracked this issue down to the processing of the description
field of the gdb-remote stop reply packets. If the packet has a
description field, we use it to override the description of the
StopInfo class. However, in the case of watchpoints the description
field contains the raw address that got hit, which is not exactly what
we want to display to the user. I have committed a fix for this in
r237436. I think it's a fairly low-risk change, but could you please
take a look at it and see if you think it's the correct way to address
this. Feel free to replace it with a more appropriate fix.

cheers,
pl


On 15 May 2015 at 06:35, Vince Harron <vince at nethacker.com> wrote:
> Hi Jason,
>
> Unfortunately, this broke watchpoints on Linux.  (I just confirmed by
> building & testing both this revision and the previous.)
>
> Do you have any guesses?  Would you like one of us to take a look?
>
> How do you feel about reverting it to get the build green while it's being
> investigated?
>
> http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/2406
>
> Vince
>
>
> On Thu, May 14, 2015 at 5:19 PM, Jason Molenda <jmolenda at apple.com> wrote:
>>
>> Author: jmolenda
>> Date: Thu May 14 19:19:28 2015
>> New Revision: 237411
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=237411&view=rev
>> Log:
>> The StopInfo base class has an m_description std::string.
>> Remove the m_description ivar from the StopInfoBreakpoint
>> and StopInfoWatchpoint subclasses of StopInfo.  Also,
>> initialize the m_description ivar in the StopInfo ctor.
>> <rdar://problem/20902950>
>>
>> Modified:
>>     lldb/trunk/source/Target/StopInfo.cpp
>>
>> Modified: lldb/trunk/source/Target/StopInfo.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/StopInfo.cpp?rev=237411&r1=237410&r2=237411&view=diff
>>
>> ==============================================================================
>> --- lldb/trunk/source/Target/StopInfo.cpp (original)
>> +++ lldb/trunk/source/Target/StopInfo.cpp Thu May 14 19:19:28 2015
>> @@ -40,6 +40,7 @@ StopInfo::StopInfo (Thread &thread, uint
>>      m_stop_id (thread.GetProcess()->GetStopID()),
>>      m_resume_id (thread.GetProcess()->GetResumeID()),
>>      m_value (value),
>> +    m_description (),
>>      m_override_should_notify (eLazyBoolCalculate),
>>      m_override_should_stop (eLazyBoolCalculate),
>>      m_extended_info()
>> @@ -112,7 +113,6 @@ class StopInfoBreakpoint : public StopIn
>>  public:
>>      StopInfoBreakpoint (Thread &thread, break_id_t break_id) :
>>          StopInfo (thread, break_id),
>> -        m_description(),
>>          m_should_stop (false),
>>          m_should_stop_is_valid (false),
>>          m_should_perform_action (true),
>> @@ -125,7 +125,6 @@ public:
>>
>>      StopInfoBreakpoint (Thread &thread, break_id_t break_id, bool
>> should_stop) :
>>          StopInfo (thread, break_id),
>> -        m_description(),
>>          m_should_stop (should_stop),
>>          m_should_stop_is_valid (true),
>>          m_should_perform_action (true),
>> @@ -568,7 +567,6 @@ protected:
>>      }
>>
>>  private:
>> -    std::string m_description;
>>      bool m_should_stop;
>>      bool m_should_stop_is_valid;
>>      bool m_should_perform_action; // Since we are trying to preserve the
>> "state" of the system even if we run functions
>> @@ -621,7 +619,6 @@ public:
>>
>>      StopInfoWatchpoint (Thread &thread, break_id_t watch_id) :
>>          StopInfo(thread, watch_id),
>> -        m_description(),
>>          m_should_stop(false),
>>          m_should_stop_is_valid(false)
>>      {
>> @@ -860,7 +857,6 @@ protected:
>>      }
>>
>>  private:
>> -    std::string m_description;
>>      bool m_should_stop;
>>      bool m_should_stop_is_valid;
>>  };
>>
>>
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>



More information about the lldb-commits mailing list