Branch: refs/heads/main
Revision: f922ed961eff9856744a802c355e0f8b6724e785
Author: arifthpe
Link: Fix LLDB jumping up stack upon `debuggerBreakHere` breakpoint by arifthpe · Pull Request #28969 · chapel-lang/chapel · GitHub
Log Message:
Fix LLDB jumping up stack upon debuggerBreakHere breakpoint (#28969)
Fix the intended functionality of --lldb (on compiled Chapel programs)
to move above the debuggerBreakHere stack frame upon hitting its
breakpoint.
This was broken in a6d8985
(#28840).
It appears that the SBFunction's name is debuggerBreakHere, so our
check that it starts with debuggerBreakHere( fails. Confusingly, this
same check works correctly for the debuggerBreakHere hook for
compiler code, which received the same change in 379637a
(#28892);
I chalk this up to a difference between C++ and Chapel executables that
I don't understand.
Checking for an exact match against "debuggerBreakHere" works on my
machine with LLVM 22, but given startswith("debuggerBreakHere(")
worked previously, compromise by matching on either. This avoid breaking
older LLVMs, or risking matching a user function that starts with
debuggerBreakHere.
[reviewed by @benharsh , thanks!]
Testing:
-
test/library/standard/Debugger/ - no new failures in
test/llvm/debugInfo/- the following fail on my local machine even on
main:
- the following fail on my local machine even on
[Error matching program output for llvm/debugInfo/lldb/functionCalls]
[Error matching program output for llvm/debugInfo/lldb/methodCallsClass]
[Error matching program output for llvm/debugInfo/lldb/methodCallsRec]
```
Diff:
M runtime/etc/debug/chpl_lldb_debuggerBreakHere.py
https://github.com/chapel-lang/chapel/pull/28969.diff