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

开发网站公司多少钱网站管理模式

开发网站公司多少钱,网站管理模式,各种免费源码共享网站,沧浪企业建设网站方法1. 默认设置下#xff0c;在调试多进程程序时GDB只会调试主进程。但是GDB#xff08;V7.0#xff09;支持多进程的分别以及同时调试#xff0c;换句话说#xff0c;GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值#xff1a;parent)和detach-on-fork在调试多进程程序时GDB只会调试主进程。但是GDBV7.0支持多进程的分别以及同时调试换句话说GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值parent)和detach-on-fork默认值on即可。 follow-fork-mode  detach-on-fork   说明 parent                   on               只调试主进程GDB默认 child                     on               只调试子进程 parent                   off              同时调试两个进程gdb跟主进程子进程block在fork位置 child                     off              同时调试两个进程gdb跟子进程主进程block在fork位置    设置方法set follow-fork-mode [parent|child]   set detach-on-fork [on|off]   查询正在调试的进程info inferiors   切换调试的进程 inferior infer number   添加新的调试进程 add-inferior [-copies n] [-exec executable] ,可以用file executable来分配给inferior可执行文件。   其他remove-inferiors infno detach inferior2. GDB默认支持调试多线程跟主线程子线程block在create thread。   查询线程info threads   切换调试线程thread thread number例程 #include stdio.h #include pthread.h void processA(); void processB(); void * processAworker(void *arg); int main(int argc, const char *argv[])   {   int pid;   pid fork();   if(pid ! 0)     processA();   else     processB();   return 0;   } void processA()   {   pid_t pid getpid();   char prefix[] ProcessA: ;   char tprefix[] thread ;   int tstatus;   pthread_t pt;   printf(%s%lu %s\n, prefix, pid, step1);   tstatus pthread_create(pt, NULL, processAworker, NULL);   if( tstatus ! 0 )     {     printf(ProcessA: Can not create new thread.);     }     processAworker(NULL);   sleep(1);   } void * processAworker(void *arg)   {   pid_t pid getpid();   pthread_t tid pthread_self();   char prefix[] ProcessA: ;   char tprefix[] thread ;   printf(%s%lu %s%lu %s\n, prefix, pid, tprefix, tid, step2);   printf(%s%lu %s%lu %s\n, prefix, pid, tprefix, tid, step3);   return NULL;   } void processB()   {   pid_t pid getpid();   char prefix[] ProcessB: ;   printf(%s%lu %s\n, prefix, pid, step1);   printf(%s%lu %s\n, prefix, pid, step2);   printf(%s%lu %s\n, prefix, pid, step3);   } 输出 [cnwuwilcentos c-lab]$ ./test ProcessA: 802 step1 ProcessB: 803 step1 ProcessB: 803 step2 ProcessB: 803 step3 ProcessA: 802 thread 3077555904 step2 ProcessA: 802 thread 3077555904 step3 ProcessA: 802 thread 3077553008 step2 ProcessA: 802 thread 3077553008 step3 调试1. 调试主进程block子进程。 (gdb) set detach-on-fork off (gdb) show detach-on-fork Whether gdb will detach the child of a fork is off. (gdb) catch fork Catchpoint 1 (fork) (gdb) r [Thread debugging using libthread_db enabled] Catchpoint 1 (forked process 3475), 0x00110424 in __kernel_vsyscall () Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.47.el6.i686 (gdb) break test.c:14 Breakpoint 2 at 0x8048546: file test.c, line 14. (gdb) cont [New process 3475] [Thread debugging using libthread_db enabled] Breakpoint 2, main (argc1, argv0xbffff364) at test.c:14 Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.47.el6.i686 (gdb) info inferiors   Num  Description       Executable          2    process 3475      /home/cnwuwil/labs/c-lab/test * 1    process 3472      /home/cnwuwil/labs/c-lab/test 2. 切换到子进程 (gdb) inferior 2 [Switching to inferior 2 [process 3475] (/home/cnwuwil/labs/c-lab/test)] [Switching to thread 2 (Thread 0xb7fe86c0 (LWP 3475))] #0  0x00110424 in ?? () (gdb) info inferiors   Num  Description       Executable        * 2    process 3475      /home/cnwuwil/labs/c-lab/test   1    process 3472      /home/cnwuwil/labs/c-lab/test (gdb) inferior 1 [Switching to inferior 1 [process 3472] (/home/cnwuwil/labs/c-lab/test)] [Switching to thread 1 (Thread 0xb7fe86c0 (LWP 3472))] #0  main (argc1, argv0xbffff364) at test.c:14 (gdb) info inferiors   Num  Description       Executable          2    process 3475      /home/cnwuwil/labs/c-lab/test * 1    process 3472      /home/cnwuwil/labs/c-lab/test 3. 设断点继续调试主进程主进程产生两个子线程 (gdb) break test.c:50 Breakpoint 3 at 0x804867d: file test.c, line 50. (2 locations) (gdb) cont ProcessA: 3472 step1 [New Thread 0xb7fe7b70 (LWP 3562)] ProcessA: 3472 thread 3086911168 step2 Breakpoint 3, processAworker (arg0x0) at test.c:50 (gdb) info inferiors   Num  Description       Executable          2    process 3475      /home/cnwuwil/labs/c-lab/test * 1    process 3472      /home/cnwuwil/labs/c-lab/test (gdb) info threads   3 Thread 0xb7fe7b70 (LWP 3562)  0x00110424 in __kernel_vsyscall ()   2 Thread 0xb7fe86c0 (LWP 3475)  0x00110424 in ?? () * 1 Thread 0xb7fe86c0 (LWP 3472)  processAworker (arg0x0) at test.c:50 4. 切换到主进程中的子线程注意线程2为前面产生的子进程 (gdb) thread 3 [Switching to thread 3 (Thread 0xb7fe7b70 (LWP 3562))]#0  0x00110424 in __kernel_vsyscall () (gdb) cont ProcessA: 3472 thread 3086911168 step3 ProcessA: 3472 thread 3086908272 step2 [Switching to Thread 0xb7fe7b70 (LWP 3562)] Breakpoint 3, processAworker (arg0x0) at test.c:50 (gdb) info threads * 3 Thread 0xb7fe7b70 (LWP 3562)  processAworker (arg0x0) at test.c:50   2 Thread 0xb7fe86c0 (LWP 3475)  0x00110424 in ?? ()   1 Thread 0xb7fe86c0 (LWP 3472)  0x00110424 in __kernel_vsyscall () (gdb) thread 1 转载于:https://www.cnblogs.com/chezxiaoqiang/archive/2012/03/14/2674388.html
http://www.zqtcl.cn/news/377005/

相关文章:

  • 好设计购物网站wordpress 公网访问不了
  • 局域网网站建设需要什么条件wordpress文章列表高度
  • 长春怎样建网站?学服装设计培训机构
  • 怎么用织梦制作响应式布局网站阳江网红
  • 洛阳网站建站72建站网
  • 网站版权信息修改app开发公司资质
  • 用vs2015做网站教程天津红桥网站建设
  • 触屏网站开发四川住房建设厅网站
  • 百度商桥怎么接网站wordpress电影自动采集主题
  • 丽水做网站公司用vps建网站备案
  • 西安网站制作机构视频网站 备案
  • 北京城乡建设学校网站国内外贸网站建设公司
  • 万峰科技著.asp.net网站开发四酷全书电子工业出版社专业网站制作定制
  • 如何做好一个网站运营建公司网站的详细步骤
  • python开发做网站代理注册公司怎么样
  • 网站开发技术简介深圳市市场监督管理局官网
  • 有那种网站的浏览器wordpress调用当前分类文章
  • 电子商务网站推广论文网站规划思想方法有哪些内容
  • adsl做网站无锡免费网站制作
  • 怎么利用网站开发app免费软件库合集软件资料网站
  • 做变形字的网站工程公司简介模板
  • 网站建设网页怎么排列顺序网站制作 用户登录系统
  • 音乐网站用什么语言做深圳网站排名优化公司
  • h5响应式网站建设方案南京做微网站
  • 建设班级网站首页查注册公司什么网站
  • 中小企业网站建设平台网站开发技术大学教材
  • 有四川建设人才网这个网站吗青岛外贸网站运营哪家好
  • 网站建设j介绍ppt模板注册企业公司流程及费用
  • 建网站多少费用设计公司推荐
  • 东莞市营销网站建设哪个推广网站好