Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

120 lines
6.3KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Free Software" and "Free Software Needs
  8. Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
  9. and with the Back-Cover Texts as in (a) below.
  10. (a) The FSF's Back-Cover Text is: "You are free to copy and modify
  11. this GNU Manual. Buying copies from GNU Press supports the FSF in
  12. developing GNU and promoting software freedom." -->
  13. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  16. <title>Thread groups (Debugging with GDB)</title>
  17. <meta name="description" content="Thread groups (Debugging with GDB)">
  18. <meta name="keywords" content="Thread groups (Debugging with GDB)">
  19. <meta name="resource-type" content="document">
  20. <meta name="distribution" content="global">
  21. <meta name="Generator" content="makeinfo">
  22. <link href="index.html#Top" rel="start" title="Top">
  23. <link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
  24. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  25. <link href="GDB_002fMI-General-Design.html#GDB_002fMI-General-Design" rel="up" title="GDB/MI General Design">
  26. <link href="GDB_002fMI-Command-Syntax.html#GDB_002fMI-Command-Syntax" rel="next" title="GDB/MI Command Syntax">
  27. <link href="Asynchronous-and-non_002dstop-modes.html#Asynchronous-and-non_002dstop-modes" rel="prev" title="Asynchronous and non-stop modes">
  28. <style type="text/css">
  29. <!--
  30. a.summary-letter {text-decoration: none}
  31. blockquote.indentedblock {margin-right: 0em}
  32. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  33. blockquote.smallquotation {font-size: smaller}
  34. div.display {margin-left: 3.2em}
  35. div.example {margin-left: 3.2em}
  36. div.lisp {margin-left: 3.2em}
  37. div.smalldisplay {margin-left: 3.2em}
  38. div.smallexample {margin-left: 3.2em}
  39. div.smalllisp {margin-left: 3.2em}
  40. kbd {font-style: oblique}
  41. pre.display {font-family: inherit}
  42. pre.format {font-family: inherit}
  43. pre.menu-comment {font-family: serif}
  44. pre.menu-preformatted {font-family: serif}
  45. pre.smalldisplay {font-family: inherit; font-size: smaller}
  46. pre.smallexample {font-size: smaller}
  47. pre.smallformat {font-family: inherit; font-size: smaller}
  48. pre.smalllisp {font-size: smaller}
  49. span.nolinebreak {white-space: nowrap}
  50. span.roman {font-family: initial; font-weight: normal}
  51. span.sansserif {font-family: sans-serif; font-weight: normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en">
  57. <a name="Thread-groups"></a>
  58. <div class="header">
  59. <p>
  60. Previous: <a href="Asynchronous-and-non_002dstop-modes.html#Asynchronous-and-non_002dstop-modes" accesskey="p" rel="prev">Asynchronous and non-stop modes</a>, Up: <a href="GDB_002fMI-General-Design.html#GDB_002fMI-General-Design" accesskey="u" rel="up">GDB/MI General Design</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
  61. </div>
  62. <hr>
  63. <a name="Thread-groups-1"></a>
  64. <h4 class="subsection">27.1.3 Thread groups</h4>
  65. <p><small>GDB</small> may be used to debug several processes at the same time.
  66. On some platforms, <small>GDB</small> may support debugging of several
  67. hardware systems, each one having several cores with several different
  68. processes running on each core. This section describes the MI
  69. mechanism to support such debugging scenarios.
  70. </p>
  71. <p>The key observation is that regardless of the structure of the
  72. target, MI can have a global list of threads, because most commands that
  73. accept the &lsquo;<samp>--thread</samp>&rsquo; option do not need to know what process that
  74. thread belongs to. Therefore, it is not necessary to introduce
  75. neither additional &lsquo;<samp>--process</samp>&rsquo; option, nor an notion of the
  76. current process in the MI interface. The only strictly new feature
  77. that is required is the ability to find how the threads are grouped
  78. into processes.
  79. </p>
  80. <p>To allow the user to discover such grouping, and to support arbitrary
  81. hierarchy of machines/cores/processes, MI introduces the concept of a
  82. <em>thread group</em>. Thread group is a collection of threads and other
  83. thread groups. A thread group always has a string identifier, a type,
  84. and may have additional attributes specific to the type. A new
  85. command, <code>-list-thread-groups</code>, returns the list of top-level
  86. thread groups, which correspond to processes that <small>GDB</small> is
  87. debugging at the moment. By passing an identifier of a thread group
  88. to the <code>-list-thread-groups</code> command, it is possible to obtain
  89. the members of specific thread group.
  90. </p>
  91. <p>To allow the user to easily discover processes, and other objects, he
  92. wishes to debug, a concept of <em>available thread group</em> is
  93. introduced. Available thread group is an thread group that
  94. <small>GDB</small> is not debugging, but that can be attached to, using the
  95. <code>-target-attach</code> command. The list of available top-level thread
  96. groups can be obtained using &lsquo;<samp>-list-thread-groups --available</samp>&rsquo;.
  97. In general, the content of a thread group may be only retrieved only
  98. after attaching to that thread group.
  99. </p>
  100. <p>Thread groups are related to inferiors (see <a href="Inferiors-Connections-and-Programs.html#Inferiors-Connections-and-Programs">Inferiors Connections and Programs</a>). Each inferior corresponds to a thread group of a special
  101. type &lsquo;<samp>process</samp>&rsquo;, and some additional operations are permitted on
  102. such thread groups.
  103. </p>
  104. <hr>
  105. <div class="header">
  106. <p>
  107. Previous: <a href="Asynchronous-and-non_002dstop-modes.html#Asynchronous-and-non_002dstop-modes" accesskey="p" rel="prev">Asynchronous and non-stop modes</a>, Up: <a href="GDB_002fMI-General-Design.html#GDB_002fMI-General-Design" accesskey="u" rel="up">GDB/MI General Design</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
  108. </div>
  109. </body>
  110. </html>