命令“set detach-on-fork off”(默认on)可以同时调试父子进程,在调试一个进程时,另一个进程处于挂起状态 (gdb) set detach-on-fork off (gdb) r Breakpoint 1, main () at example2.c:19 19 pid_t pid = fork(); (gdb) n [New inferior 2 (process 5793)] 20 if (pid < 0){ (gdb) i ...
The program is running. Quit anyway(and detach it)?(y or n)y Detaching from program: /home/beej/hello, process3490 请注意,当我回到main() 时,我将打印i的值,并且它的值是 19,因为在这种情况下,程序已运行了 19 秒,并且我每秒获得一次增量。...
Id Target Id Frame * 1 process 21087 "a.out" 0x76de5338 in nanosleep () at ../sysdeps/unix/syscall-template.S:81 1. 2. 3. 以及通过 thread $tid的命令来切换当前所在的线程,再来查看对应线程的栈。 在进程中包含多个线程时,建议使用prctl调用来给每个线程命名,一方面可以通过proc去查看找到线程的...
which has no line number information. 0x003bb900 in nanosleep () from /lib/i386-linux-gnu/libc.so.6 设置i的值。 (gdb) p i = 999999 $3 = 999999 detach可以分离进程。 (gdb) detach Detaching from program: /home/tommy/tmp/a.out, process 2570 (gdb) q [1]+ 完成 ./a.out 如果被...
如果需要同时调试父进程和子进程,需要先介绍一下detach-on-fork。 setdetach-on-fork [on|off]:默认为on,表示调试当前进程的时候,其它的进程继续运行。如果为off, 调试当前进程的时候,其它进程被GDB挂起。 为off时的运行机制:在fork()函数之后,判断follow-fork-mode类型。当follow-fork-mode为parent时,代表调试的...
其中[Detaching after fork from child process xxx]则说明在fork出子进程后就释放了,只跟踪父进程。 进程操作命令inferiors# info inferiors查看所有进程,带*号表示当前进程。 inferiors 2切换到编号为2的进程。 detach inferiors 2detach掉编号为2的进程,注意这个进程还存在,可以再次用run命令执行它。
通过detach inferior ID来detach指定的进程,让它自由执行完 代码语言:txt 复制 (gdb) detach inferior 2 Detaching from program: /data/home/chainyang/small_program/multiprocess, process 6948 (gdb) info inferiors Num Description Executable * 2 <null> /data/home/chainyang/small_program/multiprocess ...
detach command Detaches GDB from a process Syntax detach Remarks After GDB detaches from a process, the process will keep on running with no debugger attached to it. You can then attach back to it using theattachcommand. Note that you candetachcommand is valid in all of those cases:...
程序分离gdb 调试,可以在gdb的命令界面中输入detach命令程序和gdb调试器分离,这样redis就可以继续运行了。 // 程序和gdb调试器分离(gdb) detachDetaching from program: /usr/local/redis/bin/redis-server, process 17259[Inferior 1 (process 17259) detached](gdb) ...
Reading symbols from /home/xiaowp/debugme...done. (gdb) attach 555 …… 1. 2. 3. 4. 如果想知道程序现在运行到了哪里,同样可以使用“backtrace”命令。当然也可以使用“step”命令对程序进行单步调试。 在完成调试之后,不要忘记用detach命令断开连接,让被调试的进程可以继续正常运行。