当前位置: 首页 > news >正文

东莞网站建设17wordpress qqlogin

东莞网站建设17,wordpress qqlogin,培训机构网站php源码,wordpress 投稿 加标签目录 1 GDB简介 2 GDB基本命令 3 GDB调试程序 1 GDB简介 GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。 一般来说#xff0c;GDB主要帮助你完成下面四个方面的功能#xff1a; 1、启动你的程序#xff0c;可以按照你的自定义的要求随心所欲的运行程序#…目录 1 GDB简介 2 GDB基本命令 3 GDB调试程序 1 GDB简介 GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。 一般来说GDB主要帮助你完成下面四个方面的功能 1、启动你的程序可以按照你的自定义的要求随心所欲的运行程序按着自己的想法运行。2、可让被调试的程序在你所指定的调置的断点处停住。断点可以是条件表达式3、当程序被停住时可以检查此时你的程序中所发生的事。4、你可以改变你的程序将一个BUG产生的影响修正从而测试其他BUG。 2 GDB基本命令 Here are some of the most frequently needed GDB commands:break [file:]functionSet a breakpoint at function (in file).断点run [arglist]Start your program (with arglist, if specified).bt Backtrace: display the program stack.显示程序堆栈print exprDisplay the value of an expression.打印c Continue running your program (after stopping, e.g. at abreakpoint).继续nextExecute next program line (after stopping); step over any functioncalls in the line.下一句edit [file:]function 查看当前停止的程序行。look at the program line where it is presently stopped.list [file:]function 键入程序的文本当程序停止了的位置type the text of the program in the vicinity of where it ispresently stopped.step Execute next program line (after stopping); step into any functioncalls in the line. 执行下一行help [name]Show information about GDB command name, or general informationabout using GDB.quitExit from GDB.You can, instead, specify a process ID as a second argument or use option -p, if you want to debug a running process:gdb program 1234gdb -p 1234示例  linuxlinux:~/Desktop$ ls a.out gdb.c linuxlinux:~/Desktop$ gcc -g gdb.c linuxlinux:~/Desktop$ ./a.out 0 1 2 3 4 hello world linuxlinux:~/Desktop$ gdb a.out GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type show copying and show warranty for details. This GDB was configured as i686-linux-gnu. Type show configuration for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type help. Type apropos word to search for commands related to word... Reading symbols from a.out...done. (gdb) l 2 3 void print() 4 { 5 printf(hello world\n); 6 } 7 int main(int argc, const char *argv[]) 8 { 9 int i; 10 11 for (i 0; i 5; i) (gdb) b main Breakpoint 1 at 0x804846a: file gdb.c, line 11. (gdb) r Starting program: /home/linux/Desktop/a.out Breakpoint 1, main (argc1, argv0xbffff164) at gdb.c:11 11 for (i 0; i 5; i) (gdb) c Continuing. 0 1 2 3 4 hello world [Inferior 1 (process 5010) exited normally] (gdb) b 10 Note: breakpoint 1 also set at pc 0x804846a. Breakpoint 2 at 0x804846a: file gdb.c, line 10. (gdb) r Starting program: /home/linux/Desktop/a.out Breakpoint 1, main (argc1, argv0xbffff164) at gdb.c:11 11 for (i 0; i 5; i) (gdb) c Continuing. 0 1 2 3 4 hello world [Inferior 1 (process 5113) exited normally] (gdb) r Starting program: /home/linux/Desktop/a.out Breakpoint 1, main (argc1, argv0xbffff164) at gdb.c:11 11 for (i 0; i 5; i) (gdb) n 12 printf(%d\n,i); (gdb) n 0 11 for (i 0; i 5; i) (gdb) n 12 printf(%d\n,i); (gdb) n 1 11 for (i 0; i 5; i) (gdb) p i $1 (int *) 0xbffff0bc (gdb) p i $2 1 (gdb) n 12 printf(%d\n,i); (gdb) p i $3 2 (gdb) n 2 11 for (i 0; i 5; i) (gdb) n 12 printf(%d\n,i); (gdb) n 3 11 for (i 0; i 5; i) (gdb) n 12 printf(%d\n,i); (gdb) p i $4 4 (gdb) n 4 11 for (i 0; i 5; i) (gdb) n 14 print(); (gdb) s print () at gdb.c:5 5 printf(hello world\n); (gdb) n hello world 6 } (gdb) n main (argc1, argv0xbffff164) at gdb.c:15 15 return 0; (gdb) 3 GDB调试程序 示例定位错误 代码 #include stdio.h#ifndef _CORE_void print() {printf(hello world\n); } int main(int argc, const char *argv[]) {int i;for (i 0; i 5; i)printf(%d\n,i);print();return 0; }#else int main(int argc,const char *argv[]) {int *temp NULL;*temp 10; //没有分配内存空间直接会出错return 0; }#endif定位错误位置  linuxlinux:~/Desktop$ ls a.out gdb.c linuxlinux:~/Desktop$ gcc -g gdb.c -D _CORE_ linuxlinux:~/Desktop$ ./a.out Segmentation fault (core dumped) linuxlinux:~/Desktop$ ls a.out core gdb.c linuxlinux:~/Desktop$ gdb a.out core GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type show copying and show warranty for details. This GDB was configured as i686-linux-gnu. Type show configuration for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type help. Type apropos word to search for commands related to word... Reading symbols from a.out...done. [New LWP 5904] Core was generated by ./a.out. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x080483fd in main (argc1, argv0xbfea3544) at gdb.c:24 24 *temp 10; //没有分配内存空间直接会出错 (gdb) 如何调试正在运行的进程 源码 linuxlinux:~/Desktop$ cat gdb.c #include stdio.h #include unistd.hint main(int argc, const char *argv[]) {while(1){int i;i;printf(%d\n,i);sleep(1);}return 0; }linuxlinux:~/Desktop$ gcc -g gdb.c linuxlinux:~/Desktop$ ./a.out -1217503231 -1217503230 -1217503229 -1217503228... 再开一个终端 linuxlinux:~$ ps aux | grep a.out linux 6291 0.0 0.0 2028 280 pts/0 S 11:47 0:00 ./a.out linux 6293 0.0 0.0 4680 832 pts/3 S 11:47 0:00 grep --colorauto a.out linuxlinux:~$ cd /home/linux/ .bakvim/ .gconf/ .sogouinput/ .cache/ .local/ Templates/ .config/ .mozilla/ tftpboot/ .dbus/ Music/ Videos/ Desktop/ Pictures/ .vim/ Documents/ .pki/ vmware-tools-distrib/ Downloads/ Public/ linuxlinux:~$ cd /home/linux/Desktop/ linuxlinux:~/Desktop$ ls a.out core gdb.c linuxlinux:~/Desktop$ gdb a.out -p 4849 GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type show copying and show warranty for details. This GDB was configured as i686-linux-gnu. Type show configuration for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type help. Type apropos word to search for commands related to word... Reading symbols from a.out...done. Attaching to program: /home/linux/Desktop/a.out, process 4849warning: unable to open /proc file /proc/4849/statuswarning: unable to open /proc file /proc/4849/status ptrace: No such process. (gdb) b main Breakpoint 1 at 0x8048456: file gdb.c, line 9. (gdb) n The program is not being run. (gdb) r Starting program: /home/linux/Desktop/a.out Breakpoint 1, main (argc1, argv0xbffff0f4) at gdb.c:9 9 i; (gdb) n 10 printf(%d\n,i); (gdb) n -1208209407 11 sleep(1); (gdb) n 12 } (gdb) q A debugging session is active.Inferior 1 [process 6317] will be killed.Quit anyway? (y or n) y linuxlinux:~/Desktop$
http://www.hkea.cn/news/14366375/

相关文章:

  • wordpress媒体库管理系统微博搜索引擎优化
  • 网站建设项目验收报告书网站设计制作服务好态度好
  • 镇江网站制作价格如何计算四川餐饮培训学校排名
  • 免费软件站wordpress缓存无法清除缓存
  • 58网站一起做网店建立网站和新媒体信息发布制度
  • 网站建设入什么会计科目友情链接代码美化
  • 学会网站 建设seo手机关键词网址
  • 山西太原制作网站人有吗软件开发周期包括哪几个阶段
  • 网站首页设计收费小说网站怎么做推广
  • 企业网站模板免费下载企业网站模板wordpress代码添加文章字段栏目
  • 网站用不用备案谁的网站模板利于优化
  • wap网站排名shopify网站建设
  • 如何开wordpress网站网络营销网站建设存在问题
  • 北京网站营销seo方案怎么为一个网站做外链
  • 网站改版意义广州大型网站制作公司
  • 重庆网站制作设计公司班级优化大师网页版
  • 温州免费做网站平面设计师招聘信息
  • 网站建设设计报告前言青岛网站开发招聘
  • 做网站图片切图可以用中文吗策划案怎么做
  • 外国做图网站广点通广告投放平台
  • 格尔木市建设局网站门户网站具有什么特点
  • 济南网站制作哪家最好免费个人网站注册方法
  • 什么是一学一做视频网站安徽省建设工程信息网公共服务平台
  • 西安网站定制星裕建设网站
  • 网站备案时间就是正式上线时间吗龙岩网站设计较好的公司
  • 仿做网站的网站桂林市卫生学校
  • 网站建设08国内免费建站平台
  • 中国空间站图片wordpress 显示所有分类
  • 谁能给做网站成都代做网站
  • 常用的做网站的工具都有哪些浙江天力建设集团有限公司网站