GDB劣质退出

时间:2012-04-14 23:38:36

标签: c debugging gdb

我正在尝试使用GDB的程序,我做了'break x',然后一步一步地运行。所以当我想退出时,我会说'退出',它会返回一个'劣质过程将被杀死的警告信息'。如果我做'Y'会发生什么。因为我想以某种方式走出这个过程。会发生什么如果我附加一个正在运行的进程并退出。它会被分离还是退出运行过程?不同来源提供不同的想法。请指教。

此外,当我尝试运行程序时,它说,我正在运行peter教程中的标准程序。当我执行第16行时,它会出现此错误。

 _IO_puts (str=0x40075e "In display():") at ioputs.c:35
 35 ioputs.c: No such file or directory.
     in ioputs.c

程序

  14 void display(int z, int *zptr) {
  15        printf("In display():\n");
  **16       printf("   z is %d and is stored at %p.\n", z, &z);**
  17       printf("   zptr points to %p which holds %d.\n", zptr, *zptr);
  18   }

1 个答案:

答案 0 :(得分:1)

如果在调试器中运行该进程并退出调试器,则正在运行的程序被终止(就像使用SIGKILL一样)。要正常结束程序,请说continue(可能有大量的忽略),直到程序完成。

如果调试器连接到正在运行的程序并退出调试器,则调试器将分离并继续运行程序,除非您事先将其删除。