LLDB exited unexpectedly when debug in vscode with CMake Tools

97 views Asked by At

I use macOS 14.1(23B2073) with Apple M3 Max, and I Create a cpp cmake project:

main.cpp:

#include <memory>
#include <vector>
int main() {
  std::shared_ptr<std::vector<int>> some_vec_ptr; // set breakpoint at here
  return 0;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.23.2)

set(CMAKE_CXX_STANDARD 17)

project(debug_test)

add_executable(debug_test main.cpp)

Then open the project in VSCode. There are following VSCode extension has been installed:

  1. C/C++ v1.19.2 Pre-Release
  2. C/C++ Extension Pack v1.3.0
  3. CMake v0.0.17
  4. CMake Tools v1.17.14 Pre-Release
  5. CodeLLDB v1.10.0

And when I use CMake Tools to debug the main.cpp, it exits with error code 0x84 (in VSCode DEBUG CONSONLE)

Warning: Debuggee TargetArchitecture not detected, assuming x86_64.
=library-unloaded,id="/Users/intro/Spaces/TestSpace/CMake_Test/build/debug_test",target-name="/Users/intro/Spaces/TestSpace/CMake_Test/build/debug_test",host-name="/Users/intro/Spaces/TestSpace/CMake_Test/build/debug_test"
Loaded '/usr/lib/dyld'. Symbols loaded.
Loaded '/Users/intro/Spaces/TestSpace/CMake_Test/build/debug_test'. Symbols loaded.
=library-unloaded,id="/Users/intro/Spaces/TestSpace/CMake_Test/build/debug_test",target-name="/Users/intro/Spaces/TestSpace/CMake_Test/build/debug_test",host-name="/Users/intro/Spaces/TestSpace/CMake_Test/build/debug_test"
Loaded '/usr/lib/libc++.1.dylib'. Symbols loaded.
Loaded '/usr/lib/libSystem.B.dylib'. Symbols loaded.
Loaded '/usr/lib/libc++abi.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libcache.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libcommonCrypto.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libcompiler_rt.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libcopyfile.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libcorecrypto.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libdispatch.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libdyld.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libkeymgr.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libmacho.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libquarantine.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libremovefile.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_asl.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_blocks.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_c.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_collections.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_configuration.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_containermanager.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_coreservices.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_darwin.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_darwindirectory.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_dnssd.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_featureflags.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_info.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_m.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_malloc.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_networkextension.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_notify.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_sandbox.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_secinit.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_kernel.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_platform.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_pthread.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_symptoms.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_trace.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libunwind.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libxpc.dylib'. Symbols loaded.
Loaded '/usr/lib/libobjc.A.dylib'. Symbols loaded.
Loaded '/usr/lib/liboah.dylib'. Symbols loaded.
=thread-selected,id="1"
Execute debugger commands using "-exec <command>", for example "-exec info registers" will list registers in use (when GDB is the debugger)
ERROR: LLDB exited unexpectedly with exit code 132 (0x84). Debugging will now abort.
The program '/Users/intro/Spaces/TestSpace/CMake_Test/build/debug_test' has exited with code -1 (0xffffffff).

My lldb-mi path is /Users/xxx/.vscode/extensions/ms-vscode.cpptools-1.19.2-darwin-arm64/debugAdapters/lldb-mi/bin/lldb-mi and the version info is:

% /Users/xxx/.vscode/extensions/ms-vscode.cpptools-1.19.2-darwin-arm64/debugAdapters/lldb-mi/bin/lldb-mi --version   
Version: GNU gdb (GDB) 7.4 
(This is a MI stub on top of LLDB and not GDB)
All rights reserved.

My lldb version info is:

% lldb --version
lldb-1500.0.200.58
Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)

My Clang++ version info is:

% clang++ --version
Apple clang version 15.0.0 (clang-1500.1.0.2.5)
Target: arm64-apple-darwin23.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

It will be normal after deleting std::shared_ptr<std::vector<int>> some_vec_ptr;

My question is:

  1. Where can I find the error code list of lldb?
  2. What is the meaning of error code 132 (0x84).
  3. Why debug with shared_ptr<vector<>> leads unexpectedly exit?
0

There are 0 answers