怎样进行gdb attach 进程调试


本篇文章为大家展示了怎样进行gdb attach 进程调试,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。gdb调试正在运行的进程:GDB可以对正在执行的程序进行调度,它允许开发人员中断程序 并查看其状态,之后还能让这个程序正常地继续执行(gdb)attach xxxxx— xxxxx开发云主机域名为利用ps命令获得的子进程process id
(gdb)stop— 这点很重要,你需要先暂停那个子进程,然后设置一些断点和一些Watch
(gdb)break37– 在result = wib(value, div);这行设置一个断点,可以使用list命令察看源代码
Breakpoint 1 at 0x10808: file eg1.c, line 37.
(gdb)continue
Continuing.

Breakpoint 1, main () at eg1.c:37
37 result = wib(value, div);
(gdb)step在完成调试之后,不要忘记用detach命令断开连接,让被调试的进程可以继续正常运行。我们可以通过 1) gdb prog_name -> r 用在逐步调试自己的程序时 2) gdb -> attach process_id 正在运行中的后台程序突然卡在了某个地方,先ps再gdb/attach 3) gdb prog_name core 程序core掉了三种方式对一个程序进行调试;1. thread——gdb 多线程调试命令: info threads: 显示当前进程中的线程; thread thread_no: 进入线程xx,通常紧接而来的是 bt/f 命令;2. strace/ltrace: 前者关注系统调用和程序所接收的信号;后者关注库函数调用; strace的应用在 我们没有程序的源码,或者不方便从头开始运行程序时;可以方便查看一个应用程序进行了哪些系统调用。 而在希望知道程序都调用了动态库中的哪些函数时,我们使用 ltrace。ltrace有个-S选项,类似于strace功能。3.检查内存泄漏的工具

valgrind (in linux, free)
visual leak detector (windows , free)
boundschecker(windows, free)

profile工具
oprofile
vtune上述内容就是怎样进行gdb attach 进程调试,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注开发云行业资讯频道。

相关推荐: 软件测试相关1

1:根据系分会议,编写软件测试用例制定测试计划。 测试用例包含: 前提条件(数据准备),测试步骤,预期结果2:参加人员:需求方,开发,测试。对测开发云主机域名试用例进行评审。 有问题及时沟通,解决确认最终问题。 3:在开发环境对需求做功能测试4:在sit环境进…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/11 10:04
下一篇 05/11 10:04