调试---调试正在运行的程序

void fun()
{
    int b = 0;
    b++;
}

int main(int argc, char** argv)
{
    while (1)
    {
        int a = 0;
        a++;
        fun();
    }
}

main.cpp

1. 运行上面程序                               ./main

2. 查看上面程序进程号, 假设为1234     ps aux | grep main 

3. gdb调试, attach上面进程               gdbtui  main  1234          (gdb  [程序]  [进程号])

4. 下面就和正常调试一样了,设断点       b  [行号]

5. 调试开始                                     n

注意: 因为程序已经开始运行了, 不用在输run命令了.

在调试正在运行的程序, 如果想知道程序停在哪里了, 用如下步骤

1. 运行上面程序                               ./main

2. 查看上面程序进程号, 假设为1234     ps aux | grep main 

3. gdb调试, attach上面进程               gdbtui  main  1234          (gdb  [程序]  [进程号])

4. 查看程序停在哪里了                      bt

原文地址:https://www.cnblogs.com/helloweworld/p/4050766.html