<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/112186>112186</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            lldb: Calling `SBBreakpoint.SetScriptCallbackFunction` does not work when using Python scripts
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          chenhuimao
      </td>
    </tr>
</table>

<pre>
    When I use lldb python script, calling `SBBreakpoint.SetScriptCallbackFunction` does not work in some cases.
This is my script:
```
# MyScript.py

import lldb

def __lldb_init_module(debugger, internal_dict):
 debugger.HandleCommand(f'command script add -f MyScript.custom_command custom_command -h "Demo for SetScriptCallbackFunction API"')

def custom_command(debugger, command, exe_ctx, result, internal_dict):
 address_int = int(command, 16)
    bp = exe_ctx.GetTarget().BreakpointCreateByAddress(address_int)
 bp.SetScriptCallbackFunction("MyScript.breakpoint_function_wrapper")

def breakpoint_function_wrapper(frame, bp_loc, extra_args, internal_dict):
 print("hit breakpoint")
    return True
```

I made sure that the address entered is valid, but the `breakpoint_function_wrapper` function is not executed after hitting the breakpoint.
In addition, when I create a breakpoint using another interface `BreakpointCreateByName`, `SetScriptCallbackFunction` worked:
```
bp = exe_ctx.GetTarget().BreakpointCreateByName("objc_msgSend", "libobjc.A.dylib")
bp.SetScriptCallbackFunction("MyScript.breakpoint_function_wrapper")
```

Environment:
[sys version] macOS 15.0  Python 3.9.6 (default, Aug  9 2024, 14:24:13)  [Clang 16.0.0 (clang-1600.0.26.3)]
[LLDB version] lldb-1600.0.36.3 Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)
[Target triple] arm64-apple-ios-
[Xcode version] 1600 (16A242d)
[Model identifier] iPhone13,2
[iOS version] iOS 18.0.1
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0Vl1v2zYU_TX0y4UJirIU68EP_li2AO0awAW2N4ESryy2FCmQVFL_-4GS7WhZamAYBgRKSB2ec-4HryK8VyeDuCHZjmSHhRhCa92mbtG0g-qEXVRWnjd_tGjgCQaPoLWsoD-H1hrwtVN9IHwPtdBamROQnB13O4fie2-VCfSI4TiC9kLrStTfHwdTB2UNyRlIix6MDfBq3XdQBrztEGrh0VPCDoRtv7bKg_LQna9a6XZ6Q3J2-ZmWPIXP50mK9ufL5vhUXW9dGH3PtyU2UJZxt1RGhbKzctBI-FpiNZxO6GJYygR0RuhSqjoQXtzk4YqivwkjNe5t1wkjCV83hD_U0-riGYSUsGze_NWDD7Yrr6h3y2ULhPMDdhYa6-CnGYTt8xPhnPCHaOxdZH_nfBfVbXcP-APLOvyIfzr0gw73oxZSOvS-VCYASQ8RSfh6xpfkNzMAAFU_wi4q9FcMX4U7YTxEeEHfGmXvUATcnbeTAOHrmdQbZdXf6ajIyW9Jrm7cZXNBlK9O9H3MAf8gZXcPrBsnOowRVn2pbT3lLjhRCnfy95PWuylNhPNWhZnO3EfMlsMwOANf3YAfN_n4fIJOSAQ_OITQigChxWthAKMLlPHOvAitxppUw4QhObsXY87guhePx3uJP7AeAkoQTUAHrQohXvJI9sZ0uapPJppQUyX28DpNjHqsK4gZHgYfSYSxoUU35a0R9ejvnw3xe0x7ziJlnC33xkmcIih_NiH-dSuOymPVbPWtLjt_OmJscj564VyrKr6gWyrPWlXzYv4PbfpRJ_xiXpSzpkMzm4vZzp89vKDzUSw7QCfqL0dIMsoAnqe5ndKC5jBOhUZcLv12OAEUwBlfjRd5RdItj48kJbwAINlur4U5QZJTRlk8Xcf1MskZo4zynEYgyQ43I58-HXZzJ3HYXuFpTlPY9r1GOL6qJlxxkE_cPm6O_KMcLWjC4L3gLD_ZbionBKd6jVFOuC5fLUXUWCrrlzfkn7WVODcWGaNokm_5iss562crUYOSaIJqFLoIV8-tNRjzsuc3oPpynFPGZbKmjCYLuUllkRZigZvkga8L9pAX60W7ecizlGWJXGFeY5LyJmV1uhIySTPMhEwXahOrkbBklXC2TnJaFE1TpwXnWZKluazJimEnlKZav3TUutNCeT_gJkl4ss4XWlSo_fhp59zgK4xvY1tlh4XbxEPLajh5smJa-eDfaIIKGjfjJzPdwv6_f9zHcTBd_Of5_w5-MTi9aUPofWxh_kj440mFdqhobTvCH6Oly69l7-w3jMP1cQzEE_54ifRlw_8KAAD__yT7y78">