周末宅在家里没事干,小盆友们都睡了,没人打扰,那就继续写篇文章吧,今天要分享给大家的是gdb动态调试(
动态调试就是在不终止正在运行的进程的情况下,来对这个正在运行的进程进行调试,我一般习惯称之为在线调试 )在平时开发Linux应用程序时,不管是桌面Linux应用开发,还是嵌入式Linux应用开发,在我们接到新需求开始撸代码的时候(一般这时候都是在公司编码测试,可以运行带调试信息的debug版程序),都可以使用该技能进行代码的调测,简单实用。 为了给大家演示方便,我简单写了个测试程序,代码如下:
#include #include typedef struct{
int a; char b; char *c;} TEST;int data;TEST test;int fun(void){
printf("global variable data = %d\n", data);}int fun2(int val){
data = val; printf("set global variable data = %d\n", data);}void *thread(){
while(1) {
//printf("thread is running\n"); sleep(1); }}int main(int argc, char *argv[]){
pthread_t tid; data =