gdb动态挂运行程序并调试

/*
 * gdb动态挂运行程序并调试
 * 编译程序:
 * gcc gdb_attach2.c -o gdb_attach2 -g
 * 
 * 运行程序:
 * ./gdb_attach2
 *
 * 查看程序进程代号:
 * ps ax | grep gdb_attach2
 * 3973 pts/0    S+     0:00 ./gdb_attach2
 *
 * 启用gdb挂载程序:
 * gdb gdb_attach2 3973
 *
 * 在目标位置设置断点
 * b gdb_attach2.c:44
 * Breakpoint 1 at 0x40052f: file gdb_attach2.c, line 44.
 *
 * 设置断点执行指令
 * (gdb) command 1
 * Type commands for breakpoint(s) 1, one per line.
 * End with a line saying just "end".
 * >p i
 * >c
 * >end
 *
 * 设置gdb环境
 * set height 0
 *
 * 继续运行程序
 * (gdb) c 
 *
 * 退出gdb程序
 * CTRL-C
 * quit
 */
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>

int fun(int cnt)
{
	int i;
	for(i=0;i<cnt;++i)
	{
		printf("in fun i=%d\n",i);
		sleep(1);
	}
	return 0;
}

int main()
{
	fun(1000);
	return 0;
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。