c++多线程如何配置环境看线程的调试信息

zcion · 2024-9-30 00:18:39 · 72 次点击
用的是 `vscode`+`cmake`,debug 的方式是配置 `Launch.json` 和 `tasks.json` 执行 cmake 构建命令并运行可执行文件。
现在遇到的问题是:不知道怎么查看多线程中多个线程的调试信息。
我在网上看见给命令加`-pthread`的,以下是我的`CMakeLists.txt`文件
```
cmake_minimum_required(VERSION 3.10)

# 添加了 -pthread
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20 -pthread")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c17")
project(thread-pool)
set(HOME ${CMAKE_CURRENT_SOURCE_DIR})
set(EXECUTABLE_OUTPUT_PATH ${HOME}/bin)


include_directories(${HOME}/include)

link_directories(${HOME}/bin)
aux_source_directory(${HOME}/src SRC_PATH)

add_executable(app ${SRC_PATH})

target_link_libraries(app PUBLIC pthread)
```
结果 vscode 中还是看不到多个线程的调试信息。
大手子都是怎么看多线程调试信息的?
举报· 72 次点击
登录 注册 站外分享
5 条回复  
coderluan 初学 2024-9-30 01:13:16
从楼主这个 pthread 加的,看出来楼主应该完全没 C++基础。那么就消停安装 vs 没有 c ,cmake 生成个 vs 项目,默认加断点就能在多线程之间调试。人生苦短,别为难自己。
asuraa 小成 2024-9-30 01:15:16
直接用 visual studio 2022 别折腾 cmake 了,这玩意太蛋疼了
Donaldo 小成 2024-9-30 01:56:24
没太懂你这个多个线程的调试信息是什么意思?想在哪断就在哪打断点呗?
ashong 小成 2024-9-30 01:59:54
@asuraa 现在倒是喜欢用 cmake 了,
反正 vs 也支持 cmake 管理,就是在用的 Xcode 版本还不支持
fcyxp 小成 2024-9-30 08:40:26
你的问题是否是,当设置的断点命中时,查看其他线程正在执行哪一个代码/指令?
返回顶部