[all-commits] [llvm/llvm-project] 2af0a4: [lldb] Consider all breakpoints in breakpoint dete...

Pavel Kosov via All-commits all-commits at lists.llvm.org
Wed Jan 25 00:06:32 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2af0a478eaee5e6236e7e9fd9b1e3207228ce2ff
      https://github.com/llvm/llvm-project/commit/2af0a478eaee5e6236e7e9fd9b1e3207228ce2ff
  Author: Pavel Kosov <kpdev42 at gmail.com>
  Date:   2023-01-25 (Wed, 25 Jan 2023)

  Changed paths:
    M lldb/source/Target/StopInfo.cpp
    A lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/Makefile
    A lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/TestThreadPlanUserBreakpoint.py
    A lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/main.cpp

  Log Message:
  -----------
  [lldb] Consider all breakpoints in breakpoint detection

Currently in some cases lldb reports stop reason as "step out" or "step over" (from thread plan completion) instead of "breakpoint", if the user breakpoint happens to be set on the same address.
The part of https://github.com/llvm/llvm-project/commit/f08f5c99262ff9eaa08956334accbb2614b0f7a2 seems to overwrite internal breakpoint detection logic, so that only the last breakpoint for the current stop address is considered.
Together with step-out plans not clearing its breakpoint until they are destrouyed, this creates a situation when there is a user breakpoint set for address, but internal breakpoint makes lldb report a plan completion stop reason instead of breakpoint.
This patch reverts that internal breakpoint detection logic to consider all breakpoints

Reviewed By: jingham

Differential Revision: https://reviews.llvm.org/D140368




More information about the All-commits mailing list