社区
Linux/Unix社区
帖子详情
在gdb中如何结束正在运行的程序?
wwangzhihang100
2006-03-22 10:32:03
我退出gdb的时候总是提示我有程序在运行
...全文
604
7
打赏
收藏
在gdb中如何结束正在运行的程序?
我退出gdb的时候总是提示我有程序在运行
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fierygnu
2006-03-22
打赏
举报
回复
看进程状态的。cygwin下也有。
wwangzhihang100
2006-03-22
打赏
举报
回复
ps什么东西?我在cygwin下面,
fierygnu
2006-03-22
打赏
举报
回复
cygwin下?
不应该啊。ps能看到吗?
wwangzhihang100
2006-03-22
打赏
举报
回复
我使用
gdb my.exe
然后
run -b myinput.txt
然后
q
推出gdb
提示我的程序在运行,选择y
结果在任务管理器中仍然能够看到
fierygnu
2006-03-22
打赏
举报
回复
如何调试的?
wwangzhihang100
2006-03-22
打赏
举报
回复
不行,推出后我的程序还在运行
fierygnu
2006-03-22
打赏
举报
回复
没关系,退出就行了。
gdb
调试当前
运行
的
程序
为什么使用
gdb
调试正在
运行
的
程序
? 因为有时候bug很难复现、或者环境搭建起来比较困难,所以在出现bug的时候可以使用
gdb
的attach功能调试正在
运行
的GCC编译出来的
程序
,注意编译选项要加-g,否则没有符号表。 调试步骤? 1. 编译时候带-g选项。 2.
运行
程序
。 3. ps找到进程号。 4.
gdb
调试正在
运行
中
的
程序
通过上述步骤,你可以在
程序
运行
中
进行动态地调试,这对于理解
程序
的行为和诊断复杂问题非常有帮助。这种技术特别适用于调试长时间
运行
或条件难以复制的问题。
GDB
-调试正在
运行
程序
和没有使用g编译的
程序
调试正在
运行
的进程:使用附加到进程,设置断点、查看堆栈跟踪、打印变量等。调试没有-g编译的
程序
:虽然没有详细的调试信息,你仍然可以加载coredump文件,使用反汇编和查看符号表来进行有限的调试。这些步骤将帮助你在没有完全调试信息的情况下进行调试,并尽可能地获取有用的信息。即使
程序
没有使用-g选项编译,
GDB
仍然可以生成和分析 coredump 文件,并允许你在
程序
中
设置断点。虽然调试信息有限,但你仍然可以通过设置地址断点、查看汇编代码和寄存器来进行调试。
GDB
调试(正在
运行
的
程序
)
有时会遇到一种很特殊的调试需求,对当前正在
运行
的其它进程进行调试(正是我今天遇到的情形)。这种情况有可能发生在那些无法直接在调试器
中
运行
的进程身上,例如有的进程 只能在系统启动时
运行
。另外如果需要对进程产生的子进程进行调试的话,也只能采用这种方式。
GDB
可以对正在执行的
程序
进行调度,它允许开发人员
中
断
程序
并查看其状态,之后还能让这个
程序
正常地继续执行。 一、多线程调试 多线程调试可能
gdb
调试——③调试正在
运行
的
程序
gdb
调试——③调试正在
运行
的
程序
1.总述2.调试正在
运行
的
程序
(1)打开两个终端(2)
gdb
调试 1.总述 为了模拟正在
运行
的
程序
,使用sleep函数每1秒触发一次。
程序
如下所示 test1.cpp #include<iostream> #include <unistd.h> //sleep using namespace std; void div(int a) { int step = 0; for (step = 0; step < 10000; step++)
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章