Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

95 lines
4.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>Multiple Extension Languages (Debugging with GDB)</title>
  17. <meta name="description" content="Multiple Extension Languages (Debugging with GDB)">
  18. <meta name="keywords" content="Multiple Extension Languages (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="Extending-GDB.html#Extending-GDB" rel="up" title="Extending GDB">
  26. <link href="Aliases.html#Aliases" rel="next" title="Aliases">
  27. <link href="Which-flavor-to-choose_003f.html#Which-flavor-to-choose_003f" rel="prev" title="Which flavor to choose?">
  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="Multiple-Extension-Languages"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="Aliases.html#Aliases" accesskey="n" rel="next">Aliases</a>, Previous: <a href="Auto_002dloading-extensions.html#Auto_002dloading-extensions" accesskey="p" rel="prev">Auto-loading extensions</a>, Up: <a href="Extending-GDB.html#Extending-GDB" accesskey="u" rel="up">Extending GDB</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="Multiple-Extension-Languages-1"></a>
  64. <h3 class="section">23.5 Multiple Extension Languages</h3>
  65. <p>The Guile and Python extension languages do not share any state,
  66. and generally do not interfere with each other.
  67. There are some things to be aware of, however.
  68. </p>
  69. <a name="Python-comes-first"></a>
  70. <h4 class="subsection">23.5.1 Python comes first</h4>
  71. <p>Python was <small>GDB</small>&rsquo;s first extension language, and to avoid breaking
  72. existing behaviour Python comes first. This is generally solved by the
  73. &ldquo;first one wins&rdquo; principle. <small>GDB</small> maintains a list of enabled
  74. extension languages, and when it makes a call to an extension language,
  75. (say to pretty-print a value), it tries each in turn until an extension
  76. language indicates it has performed the request (e.g., has returned the
  77. pretty-printed form of a value).
  78. This extends to errors while performing such requests: If an error happens
  79. while, for example, trying to pretty-print an object then the error is
  80. reported and any following extension languages are not tried.
  81. </p>
  82. </body>
  83. </html>