mstorsjo added inline comments.
================ Comment at: lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp:495-514 + int breakpoint_size = 1; + switch (GetArchitecture().GetMachine()) { + case llvm::Triple::aarch64: + breakpoint_size = 4; + break; + + case llvm::Triple::arm: ---------------- labath wrote: > This should be the job of `GetSoftwareBreakpointPCOffset`, although the > default implementation of that function returns zero for arm. If that is not > desired (does windows automatically increment the PC or something?), then I > guess you should override that function. Thanks for the pointer - I checked and it does indeed seem to be the case that Windows stops with the PC register incremented when hitting breakpoints, so it's straightforward to override `GetSoftwareBreakpointPCOffset` here and use that. Unfortunately, for the case in ProcessWindows.cpp, it doesn't seem to be as straightforward to use that (or anything else based on `GetSoftwareBreakpointTrapOpcode`) as the Process/Platform versions of `GetSoftwareBreakpointTrapOpcode` also need a `BreakpointSite` where the opcode actually is set. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D109777/new/ https://reviews.llvm.org/D109777 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits