zoukankan      html  css  js  c++  java
  • GDB调试多线程

    info threads                        查看当前进程的线程。
                                              GDB会为每个线程分配一个ID, 后面操作线程的时候会用到这个ID.
                                              前面有*的是当前调试的线程.
    thread <ID>                      切换调试的线程为指定ID的线程。
    break file.c:100 thread all    在file.c文件第100行处为所有经过这里的线程设置断点。
    set scheduler-locking off|on|step    
          在使用step或者continue命令调试当前被调试线程的时候,其他线程也是同时执行的,
          怎么只让被调试程序执行呢?
          通过这个命令就可以实现这个需求。
             off      不锁定任何线程,也就是所有线程都执行,这是默认值。
             on       只有当前被调试程序会执行。
             step     在单步的时候,除了next过一个函数的情况
                      (熟悉情况的人可能知道,这其实是一个设置断点然后continue的行为)以外,
                      只有当前线程会执行。
    thread apply ID1 ID2 command        让一个或者多个线程执行GDB命令command
    thread apply all command            让所有被调试线程执行GDB命令command。

    set non-stop on/off:
    当调式一个线程时,其他线程是否运行。
    set pagination on/off:
    在使用backtrace时,在分页时是否停止。
    set target-async on/ff:
    同步和异步。同步,gdb在输出提示符之前等待程序报告一些线程已经终止的信息。而异步的则是直接返回。
    show scheduler-locking:
    查看当前锁定线程的模式
  • 相关阅读:
    计算GPS WGS_84 两点的距离
    极路由4_开ssh_刷breed
    aes-256-gcm_python3_php7_golang
    nginx_非标准端口_同端口_http_自动跳转_https
    配置sshd_除了特定ip外_仅密钥登录
    使用scp命令实现服务器之间文件传输
    Java防止重复提
    mysql使用SUBSTRING_INDEX截取部分字符串
    SEO大杀器rendertron安装
    PIC16 bootloader之I2C bootloader
  • 原文地址:https://www.cnblogs.com/nanqiang/p/9934254.html
Copyright © 2011-2022 走看看