@@ -805,19 +805,31 @@ bool Thread::ShouldStop(Event *event_ptr) {
805
805
SetShouldRunBeforePublicStop (false );
806
806
807
807
if (log ) {
808
+ auto &sc =
809
+ GetStackFrameAtIndex (0 )->GetSymbolContext (eSymbolContextEverything);
810
+ auto *funcname = sc.GetFunctionName (Mangled::ePreferMangled).AsCString ();
808
811
LLDB_LOGF (log ,
809
812
" Thread::%s(%p) for tid = 0x%4.4" PRIx64 " 0x%4.4" PRIx64
810
- " , pc = 0x%16.16" PRIx64,
813
+ " , pc = 0x%16.16" PRIx64 " (%s) " ,
811
814
__FUNCTION__, static_cast <void *>(this ), GetID (), GetProtocolID (),
812
815
GetRegisterContext () ? GetRegisterContext ()->GetPC ()
813
- : LLDB_INVALID_ADDRESS);
816
+ : LLDB_INVALID_ADDRESS,
817
+ funcname);
814
818
LLDB_LOGF (log , " ^^^^^^^^ Thread::ShouldStop Begin ^^^^^^^^" );
815
819
StreamString s;
816
820
s.IndentMore ();
817
821
GetProcess ()->DumpThreadPlansForTID (
818
822
s, GetID (), eDescriptionLevelVerbose, true /* internal */ ,
819
823
false /* condense_trivial */ , true /* skip_unreported */ );
820
824
LLDB_LOGF (log , " Plan stack initial state:\n %s" , s.GetData ());
825
+ s.Clear ();
826
+ auto &external_bps = this ->CalculateTarget ()->GetBreakpointList (false );
827
+ for (const auto &bp : external_bps.Breakpoints ())
828
+ bp->GetDescription (&s, lldb::DescriptionLevel::eDescriptionLevelFull);
829
+ auto &internal_bps = this ->CalculateTarget ()->GetBreakpointList (true );
830
+ for (const auto &bp : internal_bps.Breakpoints ())
831
+ bp->GetDescription (&s, lldb::DescriptionLevel::eDescriptionLevelFull);
832
+ LLDB_LOGF (log , " Current breakpoints:\n %s" , s.GetData ());
821
833
}
822
834
823
835
// The top most plan always gets to do the trace log...
@@ -993,6 +1005,14 @@ bool Thread::ShouldStop(Event *event_ptr) {
993
1005
LLDB_LOGF (log , " Plan stack final state:\n %s" , s.GetData ());
994
1006
LLDB_LOGF (log , " vvvvvvvv Thread::ShouldStop End (returning %i) vvvvvvvv" ,
995
1007
should_stop);
1008
+ s.Clear ();
1009
+ auto &external_bps = this ->CalculateTarget ()->GetBreakpointList (false );
1010
+ for (const auto &bp : external_bps.Breakpoints ())
1011
+ bp->GetDescription (&s, lldb::DescriptionLevel::eDescriptionLevelFull);
1012
+ auto &internal_bps = this ->CalculateTarget ()->GetBreakpointList (true );
1013
+ for (const auto &bp : internal_bps.Breakpoints ())
1014
+ bp->GetDescription (&s, lldb::DescriptionLevel::eDescriptionLevelFull);
1015
+ LLDB_LOGF (log , " Current breakpoints:\n %s" , s.GetData ());
996
1016
}
997
1017
return should_stop;
998
1018
}
0 commit comments