gdb调试正在运行的进程

您所在的位置:网站首页 independence可数吗 gdb调试正在运行的进程

gdb调试正在运行的进程

2023-03-06 07:07| 来源: 网络整理| 查看: 265

首先 ps -aux| grep test  查看进程ID

方式一 通过–-pid参数来绑定指定的进程程序。

~@hqlong gdb --pid 25552

方式二 通过程序和进程号来绑定。

~@hqlong gdb test 25552

方式二 先启动gdb后,通过attach来绑定pid

~@hqlong gdb attach 25552

将pid和gdb绑定后,就可以来对每一段代码进行调试。

常用命令:

调试命令 (缩写) 作用 (gdb) break (b) 在源代码指定的某一行设置断点,其中xxx用于指定具体打断点位置 (gdb) run (r) 执行被调试的程序,其会自动在第一个断点处暂停执行。 (gdb) continue (c) 当程序在某一断点处停止后,用该指令可以继续执行,直至遇到断点或者程序结束。 (gdb) next (n) 令程序一行代码一行代码的执行。 (gdb) step(s) 如果有调用函数,进入调用的函数内部;否则,和 next 命令的功能一样。 (gdb) until (u) (gdb) until (u) location 当你厌倦了在一个循环体内单步跟踪时,单纯使用 until 命令,可以运行程序直到退出循环体。 until n 命令中,n 为某一行代码的行号,该命令会使程序运行至第 n 行代码处停止。 (gdb) print (p) 打印指定变量的值,其中 xxx 指的就是某一变量名。 (gdb) list (l) 显示源程序代码的内容,包括各行代码所在的行号。 (gdb) finish(fi) 结束当前正在执行的函数,并在跳出函数后暂停程序的执行。 (gdb) return(return) 结束当前调用函数并返回指定值,到上一层函数调用处停止程序执行。 (gdb) jump(j) 使程序从当前要执行的代码处,直接跳转到指定位置处继续执行后续的代码。 (gdb) quit (q) 终止调试。 (gdb) Backtrace(bt) 查看堆栈。 (gdb) info threads 显示当前可调试的所有线程 (gdb) thread ID 切换当前调试的线程为指定ID的线程 (gdb) attach process-id 在gdb状态下,开始调试一个正在运行的进程 (gdb) thread apply all command 所有线程执行command ———————————————— 版权声明:本文为CSDN博主「GS_Qiang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_45937795/article/details/126364422



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3