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

苏州建网站的公司mt7620a做网站

苏州建网站的公司,mt7620a做网站,wordpress资讯站,北京网站推广技巧今天来学习一下linux下gdb如何调试多进程#xff0c;在学习之前我我们能先看一张表#xff1a;这张表是gdb调试的命令表#xff0c;这对那些对gdb不熟的同学来说是非常有必要的。一、多进程调试的命令1、set follow-fork-mode parent|child因为gdb在一般情况下#xff0c;只…今天来学习一下linux下gdb如何调试多进程在学习之前我我们能先看一张表这张表是gdb调试的命令表这对那些对gdb不熟的同学来说是非常有必要的。一、多进程调试的命令1、set follow-fork-mode parent|child因为gdb在一般情况下只会调试主进程。这条命令就可以使gdb来实现多进程的调试进入gdb后默认调试的是parent,要想调试child的话需要设置set follow-fork-mode child,然后进入调试。当然这种方式只能同时调试一个进程。show follow-fork-mode就是查看当前调试的fork的模式。2、detach-on-fork on|off设置为on只调试父进程或子进程其中一个需要根据follow-fork-mode决定这是默认模式。设置成off父子进程都在gdb的控制之下其中一个进程正常调试需要根据follow-fork-mode决定另一个进程会被设置为暂停状态。GDB将每一个被调试程序的执行状态记录在一个名为inferior的结构中。一般情况下一个inferior对应一个进程每个不同的inferior有不同的地址空间。inferior有时候会在进程没有启动的时候就存在。3、info inferiors这条语句是为了显示GDB调试的所有inferiorGDB会为他们分配ID。其中带有*的进程是正在调试的inferior。4、inferior num切换需要调试的进程的id5、add-inferior [-copies n] [-exec executable]:增加n个inferior并执行程序为executable。如果不指定n只增加一个inferior。如果不指定executable则执行程序留空增加后可使用file命令重新指定执行程序。这时候创建的inferior其关联的进程并没启动。6、clone-inferior [-copies n] [infno]:复制n个编号是infno的inferior。如果不指定n的话就只复制一个inferior。如果不指定infno则就复制正在调试的inferior。7、detach inferior infno:detach掉编号是infno的inferior。注意这个inferior还存在可以再次用run命令执行它8、kill inferior infno:kill掉infno号inferior。注意这个inferior仍然存在可以再次用run等命令执行它9、remove-inferior infno:删除一个infno号的inferior。如果inferior正在运行则不能删除所以删除前需要先kill或者detach这个inferior10、set schedule-multiple on|off:设为off:只有当前inferior会执行。设为on全部是执行状态的inferior都会执行。这个选项类似于多线程调试里的set scheduler-locking选项如果scheduler-locking是指为on即使schedule-multiple设置为on也只有当前进程的当前线程会执行。11、set follow-exec-mode new|same:设置same:当发生exec的时候在执行exec的inferior上控制子进程。设置为new:新建一个inferior给执行起来的子进程。而父进程的inferior仍然保留当前保留的inferior的程序状态是没有执行。show follow-exec-mode查看follow-exec-mode设置的模式。12、set print inferior-events on|off:用来打开和关闭inferior状态的提示信息。show print inferior-events 查看print inferior-events设置的状态。13、maint info program-spaces:用来显示当前GDB一共管理了多少地址空间。二、多进程的代码#include#include#include#include#includeint main(){pid_t id fork();if(id 0){perror(fork error!);return -1;}else if(id 0){printf(child is: %d,father is: %dn,getpid(),getppid());}else{sleep(1);printf(father is :%dn,getpid());wait(NULL);}return 0;}三、调试情况在编译的时候别忘了加上 -g(我刚开始就是犯了这样的错……)1、设置调试的模式2、这是查看两个进程的情况如果大家需要切换要调试的进程可以使用上面我们提到过得命令inferior 进程id这样就可以切换者调试其他的进程了。注意我们看见的进程前的*号就表示当前正在调试的进程。
http://www.pierceye.com/news/237365/

相关文章:

  • 建设小学网站建设网站代理
  • 怎么查看网站根目录网站建设费记什么科目
  • 文昌市规划建设管理局网站网站与个人网站
  • 昆明网站建设推荐q479185700上墙现在最火的推广平台有哪些
  • 长兴县城乡建设局网站wordpress的留言功能
  • 建设企业网站地址asp.net 4.0网站开...
  • 制作个人网站步骤提升学历励志语录
  • 福州建站服务管理页面布局标准格式
  • 做一个公司网站一般需要多少钱营销型网站功能表
  • 为什么菜市场不可以做网站河南阿里巴巴网站建设
  • asp.net动态的网站开发手机海报制作免费软件
  • 网站建设前准备龙岗网站优化公司案例
  • 做流量哪个网站好滨州j建设局网站投诉电话
  • 空白网站怎么建wordpress 邮箱订阅
  • 乡镇网站建设自查报告做企业门户网站要准备哪些内容
  • 百度做推广一般要多少钱相城seo网站优化软件
  • 博客和网站的区别贵阳网站推广优化公司
  • 专业做公司网站的机构时彩网站开发
  • 网站 建设设计深圳网站建设交易
  • 网站建设氵金手指下拉十二网页设计有啥教程
  • 物流企业网站建设策划书6wordpress 搜索 很慢
  • 青岛网站设计选哪家南海区住房城乡建设和水务局网站
  • 济南冰河世纪网站建设手机可以搭建网站吗
  • 网站建设论文总结wordpress文章排序方式
  • 织梦程序来搭建网站人才招聘网最新招聘信息
  • 网站建设 客户定位支付网站建设费会计分录
  • 深圳网站设计工作室广告公司名字 三个字
  • 长沙门户网站广告网站设计公司
  • 余姚网站建设的公司wordpress 开发文档
  • 怎么建设一个微信网站莱芜金点子最新招工信息