V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zcion
V2EX  ›  C++

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

  •  
  •   zcion · 3 小时 58 分钟前 · 157 次点击

    用的是 vscode+cmake,debug 的方式是配置 Launch.jsontasks.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 中还是看不到多个线程的调试信息。 大手子都是怎么看多线程调试信息的?

    6 条回复    2024-09-30 03:30:25 +08:00
    coderluan
        1
    coderluan  
       3 小时 3 分钟前
    从楼主这个 pthread 加的,看出来楼主应该完全没 C++基础。那么就消停安装 vs 没有 c ,cmake 生成个 vs 项目,默认加断点就能在多线程之间调试。人生苦短,别为难自己。
    asuraa
        2
    asuraa  
       3 小时 1 分钟前
    直接用 visual studio 2022 别折腾 cmake 了,这玩意太蛋疼了
    Donaldo
        3
    Donaldo  
       2 小时 20 分钟前
    没太懂你这个多个线程的调试信息是什么意思?想在哪断就在哪打断点呗?
    ashong
        4
    ashong  
       2 小时 17 分钟前 via iPhone
    @asuraa 现在倒是喜欢用 cmake 了,
    反正 vs 也支持 cmake 管理,就是在用的 Xcode 版本还不支持
    zcion
        5
    zcion  
    OP
       47 分钟前
    @coderluan 个人更偏好 vscode 一点,而且最近在折腾 cmake ,想看看有没有什么骚操作
    zcion
        6
    zcion  
    OP
       46 分钟前
    @Donaldo 假如我现在开了三个线程,我希望能看到这三条线程分别执行的情况,默认的调试是单步的,没办法区分线程单独看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   919 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:17 · PVG 04:17 · LAX 13:17 · JFK 16:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.